5
最近、私はnpm 3.xで新しいnodejs 5.xをインストールしました。最も注目すべき変更はnode_modulesのフラットな構造です。これはWindows環境での素晴らしいことです。npm 3.xとローカルパスはモジュールのpackage.jsonにあります
残念ながら私は新しいnpmがインストールされているすべてのモジュールのpackage.jsonにローカルパスを設定していることに気付きました。これを防ぐにはどうしたらいいですか(または相対パスを入れますか)? node_modulesをhgリポジトリにコミットして、開発チームの誰もが同じモジュールを持つようにしたい。ここ略称パッケージからサンプル取り除かpackage.jsonさ:
{
"_args": [
[
"[email protected]://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz",
"C:\\Users\\ABC\\Documents\\ABC"
]
],
"_where": "C:\\Users\\ABC\\Documents\\ABC"
}
"C:\ユーザーは、ABC \ドキュメントは、ABCを\ \" はローカルパスは
よろしく、これはで修正されます
'npm shrinkwrap'のようなサウンドです。 https://docs.npmjs.com/cli/shrinkwrap – eush77
残念ながらシュリンクラップパッケージには、npm managerによって書き込まれたローカルパスもあります。 – Sassa
'npm shrinkwrap'を実行し、' npm-shrinkwrap.json'ファイルをプロジェクトにコミットすることができます。このファイルにはパッケージ名とバージョンだけの相対パスはありません。このプロジェクトをチェックアウトしている人は、このファイルからインストールして、まったく同じバージョンを取得します。問題が解決しました。 'node_modules'全体をコミットして、メガバイトの差分ログを処理する必要はありません。 – eush77