[解決済み] パッケージロック.json`を削除して競合を迅速に解決する
質問
チームで作業していると、通常
package-lock.json
でのマージの競合に直面したとき、私の迅速な解決策はいつもファイルを削除し、再生成して
npm install
. この修正は、これまで認識できるような問題を引き起こしていないため、この修正の意味について真剣に考えたことはありません。
ファイルを削除して
npm
を再作成することに問題はありますか?
どのように解決するのですか?
はい、それはすべてのプロジェクトに悪い影響を与える可能性があります。
-
もしあなたのチームが
npm install
の後にgit pull
というように、それぞれ異なる依存関係のバージョンを使っていることがわかります。そのため、quot;but it works for me!!! " と "I don't understand why my code does not work for you" で終了します。 -
チーム全員が
npm install
そして、(おそらく、かなり苦痛な)デバッグの後、第3レベルの依存関係が次のメジャーバージョンに更新されたためであることがわかり、これがいくつかの破壊的な変更につながったことがわかります。
結論: 決して削除しないでください。
package-lock.json
.
はい、第一レベルの依存関係については、範囲なしで指定した場合(例えば
"react": "16.12.0"
のように) 範囲を指定しない場合は
npm install
. しかし、2 レベル以上の深い依存関係 (依存関係が依存している依存関係) については同じことは言えません。
package-lock.json
は安定性のために本当に重要です。
あなたの場合、次の方法をとったほうがいいでしょう。
-
のコンフリクトを修正する。
package.json
-
実行
npm install
見た目通り簡単です。yarnにも同じことが言えます。yarnはロックファイルの衝突を自分自身で解決します。でのすべての衝突を解決することがここでの唯一の要件です。
package.json
にあるすべての衝突を事前に解決しておくことです。
について
ドキュメント
でのマージの衝突を修正します。
package-lock.json
を修正してくれます。
[2021年から更新】重要! もしあなたが既にあるライブラリを使っていて、そのメンテナのnpm/GitHubアカウントがハッキングされた場合。そして、悪意のあるコードが含まれた新しいバージョンがリリースされました。そして、あなたは
package-lock.json
をそのままにしておく。あなたは大丈夫です。落とすと大変なことになります。
関連
-
Vueはランニングライト形式のテキストを水平方向にスクロールする機能を実装している
-
Vueのフィルタの説明
-
[解決済み】awaitは非同期関数でのみ有効です。
-
[解決済み】npm 5で作成されたpackage-lock.jsonファイルはコミットするのでしょうか?
-
[解決済み] インストールされているnpmパッケージのバージョンを検索する
-
[解決済み] NPMパッケージの以前の正確なバージョンをインストールするにはどうすればよいですか?
-
[解決済み] なぜ "npm install" は package-lock.json を書き換えてしまうのですか?
-
[解決済み] package-lock.jsonの役割は何ですか?
-
[解決済み】JavaScriptで配列の要素を削除する - delete vs splice
-
[解決済み] [Solved] npmがpackage-lock.jsonを生成するように強制する方法はありますか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
JavaScriptの関数この指摘の問題を説明
-
Vueのイベント処理とイベントモディファイアの解説
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】JavaScriptの配列でforEachが関数でない不具合
-
[解決済み】ExpressJS - throw er Unhandled errorイベント
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
モジュールのビルドに失敗しました。Error: ENOENT: no such file or directory, scandir 'D:\.... \node_modules
-
[解決済み] package-lock.jsonの役割は何ですか?
-
[解決済み] なぜ package-lock.json は整合性ハッシュを sha1 から sha512 に変更したのですか?