2017-07-20 20 views
2

npmを実行しているOSに問題を絞り込んでいます。私は現在OSxにいる。ローカルマシンでnpm installを実行すると、新しいロックファイルが作成されます。そのロックファイルを本番環境にプッシュし、本番環境でnpm installを実行すると、package-lock.jsonファイルが変更されます。プロダクションサーバでpackage-lock.jsonを変更できないようにするにはどうすればいいですか?

しかし、私がVagrant Ubuntuマシンにインストールし、実動サーバー(Ubuntu)にプッシュすると、package-lock.jsonは変更されません。どのようにしてオペレーティングシステム間で一貫性を保つことができるのですか?

編集:npmバージョンは、ホストマシン、仮想マシン、プロダクションサーバーで5.3.0です。代わりにhttps://paste.laravel.io/0MGNa

+0

をあなたが私達にあなたのロックファイルでpackage.jsonと関連の差分を表示することができますか? –

+0

@ E_net4 https://paste.laravel.io/0MGNa – Jeff

+1

'fsevents'はmacOS専用のモジュールなので、Ubuntuで削除されるのが理にかなっています。私はそれがdevの依存関係によって使用されていると仮定します( 'npm ls fsevents'はそれが何を使用しているかを示すべきです)ので、' npm install --production'を試してください。 – robertklep

答えて

0

使用Yarn

package-lock.jsonの差分もともとマックOSX上で実行し、その後、npm install Ubuntuマシンに。

これはnpmの一般的なペイントポイントであり、npmを使用しない以外の方法はありません。糸にこの問題はありません。 2018年、--no-saveオプションは、ロックファイルへの変更を避けることができます、今https://github.com/npm/npm/issues/17722

0

を参照してください:

npm install --no-save 
関連する問題