2015-10-31 7 views
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を\ \" はローカルパスは

よろしく、これはで修正されます

+0

'npm shrinkwrap'のようなサウンドです。 https://docs.npmjs.com/cli/shrinkwrap – eush77

+0

残念ながらシュリンクラップパッケージには、npm managerによって書き込まれたローカルパスもあります。 – Sassa

+0

'npm shrinkwrap'を実行し、' npm-shrinkwrap.json'ファイルをプロジェクトにコミットすることができます。このファイルにはパッケージ名とバージョンだけの相対パスはありません。このプロジェクトをチェックアウトしている人は、このファイルからインストールして、まったく同じバージョンを取得します。問題が解決しました。 'node_modules'全体をコミットして、メガバイトの差分ログを処理する必要はありません。 – eush77

答えて

関連する問題