誤ってnpm install
Yarnを使用するプロジェクトで、npmがpackage-lock.json
ファイル。
ヤーンは、ロックファイルを使用して、しばらくの間障害のある シュリンクラップ機能 しかなかったnpmよりも信頼性が高く決定的な依存関係のインストールを生成したため、人気が急上昇したことを知っていますこのnpmロックファイルビジネスをどうするべきか、そしてYarnを使い続けることについて説得力のあるものがあるかどうかはわかりません。
したがって、糸とシュリンクラップのStackOverflowの 前のQとA の精神で、私は次を尋ねます:
紙の上では、YarnとNPM 5はほぼ同等に見えます。どちらにも確定的なロックファイルがあり、機能的にはほぼ一致しています。ヤーンはNPMを革新する触媒であると言う人もいます。
しかし、NPM 5を1か月間経験した後、私のチームはYarnに移行することにしました。
技術的には、NPMのバージョン間でNPMがまったく同じnode_modules
フォルダ。一方、Yarnの依存関係の正確な巻き上げ/順序付けは、Yarnのバージョンに依存し、Yarnのバージョンによって変わる可能性があります。一般に、これによる影響はほとんどありません。
なぜヤーンを使用するのですか?マージと信頼性。
ヤーンは、より単純なyarn.lock
マージしやすいファイル。ソロ開発者の場合、これはおそらく影響しませんが、依存関係の変更をコミットする複数の共同作業者がいるチームの場合、それはすぐに大きな問題になります。 NPMのpackage-lock
は事実上マージ不可能であり、最終的には再生成または苦労しなければなりません。一方、Yarnでは、マージは簡単で予測可能です。
参照: https://yarnpkg.com/blog/2017/05/31/determinism/
補足として、ヤーンは平均してより信頼性が高いこともわかりました。