2017-07-26 2 views
6

同じgitリポジトリで、node_modulespackage-lock.jsonを削除すると、npm installは同じものを生成するはずですpackage-lock.jsonファイルごとに(その間に出版社によって更新される可能性がありますいくつかのモジュールを与えるか、または取る。異なるシステムで `npm install`を実行したときに` package-lock.json`ファイルが大きく異なる理由

を私は見つけることだ、何が私はOSXのマシン上でこれを行うかどうかに応じて大幅異なるファイルを取得するということですLinuxマシンとの比較

これは予想されますか?その場合、どの値がコミットしますかこれらのシステムのいずれかで無効になるため、package-lock.jsonファイルが保持されます。そうでない場合は、ここで何が起こっているのでしょうか?

+0

OS固有のパッケージの多くでoptionalDependencies' 'があります。私が見てきた共通のものは、例えばfseventsです。間違いなく、お尻の痛みになることができます。 https://github.com/npm/npm/issues/17722 – ceejayoz

+1

ええ...それは関連していると思われます...しかし、これは、複数のプラットフォームで開発している場合、ファイルをコミットすることは完全に不適切であることを意味していませんか? OSXシステム上のツリーをLinuxシステムに適用しないでください。 – Dancrumb

+3

はい。私は糸でより良い結果を出しました。 – ceejayoz

答えて

2

一部のプラットフォームでは一部の依存関係がアンインストール可能です。 OSXマシンにはインストールできるものの、Linuxではインストールできないものがあります。あなたがnpm iを実行するたびに、package-lock.jsonは、例えば

を更新している理由はいくつかの他のユーザーが指摘したように、あなたはgithubの上で、いくつかの未解決の問題を見つけることができ、OS

の厳格な要件を持つパッケージfseventsパッケージがありますということ。

https://github.com/npm/npm/issues/17722

https://github.com/npm/npm/issues/18202

関連する問題