[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
質問
npm 5 は本日リリースされました。
を作成し、決定論的なインストールを行うという新機能が含まれています。
package-lock.json
ファイルを作成します。
このファイルは、ソース管理で保管することになっているのでしょうか?
と似たようなものだと推測しています。
yarn.lock
と
composer.lock
どちらもソース管理されているはずのものです。
解決方法は?
はい。
package-lock.json
は、ソースコントロールにチェックインすることを意図しています。npm 5+を使用している場合、コマンドラインでこのような通知が表示されることがあります。
created a lockfile as package-lock.json. You should commit this file.
によると
npm help package-lock.json
:
package-lock.json
は、npmが のどちらかを変更します。node_modules
ツリー、またはpackage.json
. これは 生成されたツリーを正確に再現し、後続のインストールで は、中間的な依存関係の更新に関係なく、同一のツリーを生成する。このファイルは、ソースリポジトリにコミットされることを意図しています。 であり、その役割は 様々な目的で使用されます。
チームメイト、デプロイメント、継続的インテグレーションが全く同じ依存関係をインストールすることが保証されるような、依存関係ツリーの単一の表現を記述します。
の以前の状態へタイムトラベルする機能を提供する。
node_modules
ディレクトリ自体をコミットすることなくソースコントロールの差分を読みやすくすることで、ツリーの変更をより可視化することができます。
また、以前にインストールされたパッケージに対して繰り返されるメタデータの解決を npm がスキップできるようにすることで、インストールプロセスを最適化します。
に関する重要な詳細の1つは
package-lock.json
は公開できず、また は、トップレベル・パッケージ以外の場所で発見された場合、無視されます。これは npm-shrinkwrap.jsonと形式は同じですが、こちらは基本的に は公開を許可しています。CLIツールをデプロイしている場合や を使用することで、本番用パッケージの作成が可能になります。もし
package-lock.json
とnpm-shrinkwrap.json
のルートに存在する場合 パッケージのpackage-lock.json
は完全に無視されます。
関連
-
[解決済み] コミットに含まれるすべてのファイルを一覧表示するにはどうすればよいですか?
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] npm installの-saveオプションは何ですか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] ある特定のコミットのコミット作者を変更する方法は?
-
[解決済み] npm package.jsonファイルのdependencies, devDependencies, peerDependenciesの違いは何ですか?
-
[解決済み] Git で現在のコミットのハッシュを取得する方法は?
-
[解決済み] Git のコミットで変更点を確認するには?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】Gitバージョン管理でファイルの変更履歴を見る
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】ブロックスコープの宣言は、ストリクトモード以外ではまだサポートされていません。
-
[解決済み] のエラーが発生しました。これはおそらくnpmの問題ではありません。上に追加のログ出力があると思われます
-
[解決済み] Passport JSのreq.isAuthenticated()はどのように実装されていますか?[クローズド]
-
[解決済み] nodeファイルの先頭にある"/usr/bin/env node "は、具体的には何をするのですか?
-
[解決済み] Yarn にパッケージを強制的に再インストールさせるにはどうしたらいいですか?
-
[解決済み] エラーです。Expressでビューの検索に失敗しました
-
[解決済み] エラーです。Ionic使用中にモジュール '../lib/utils/unsupported.js' が見つかりません。
-
[解決済み] composer.lockはバージョンコントロールにコミットすべきですか?
-
[解決済み] npm install」と「npm ci」の違いは何ですか?
-
[解決済み] yarn.lockファイルをコミットする必要がありますか、そしてそれは何のためですか?