yarn.lock
を実行すると、Yarn はファイルを作成しますyarn install
。
これをリポジトリにコミットするか、無視する必要がありますか? それはなんのためですか?
yarn.lock
を実行すると、Yarn はファイルを作成しますyarn install
。
これをリポジトリにコミットするか、無視する必要がありますか? それはなんのためですか?
プロジェクトが何であるかによって異なります。
これに関するより詳細な説明は、Yarn の作成者の 1 人がこの GitHub の問題で見つけることができます。言います:
package.json は元の作成者が希望する意図したバージョンを記述し、yarn.lock は特定のアプリケーションの最後の既知の適切な構成を記述します。
yarn.lock
最上位プロジェクトのファイルのみが使用されます。したがって、あるプロジェクトがスタンドアロンで使用され、別のプロジェクトにインストールされない限り、yarn.lock
-file をコミットしても意味がありません。代わりにpackage.json
、プロジェクトが期待する依存関係のバージョンを伝えるのは常に -file 次第です。
私の経験から言えば、yarn.lock
ファイルをコミットする必要があります。これにより、他の人があなたのプロジェクトを使用するときに、プロジェクトが期待するものと同じ依存関係が得られるようになります。
yarn または yarn add を実行すると、Yarn はパッケージのルート ディレクトリ内に yarn.lock ファイルを生成します。このファイルを読んだり理解したりする必要はありません。ソース管理にチェックインするだけです。他の人が npm の代わりに Yarn を使い始めると、yarn.lock ファイルによって、あなたとまったく同じ依存関係が確実に得られます。
^
に置き換えることでそれを達成できると主張する人もいるかもしれません--
。はい、できますが、一般的に、ほとんどのnpm
パッケージには^
表記法が付属しており、静的な依存関係yarn.lock
のバージョンを確保するために表記法を手動で変更する必要があることがわかっています。
また、エリック・エリオットがここで言ったように
.gitignore yarn.lock を使用しないでください。「自分のマシンで動作する」バグを回避するために、決定論的な依存関係の解決を保証するためにあります。
はい、コミットする必要があります。yarn.lock ファイルの詳細については、こちらの公式ドキュメントを参照してください。
はい!yarn.lock
依存関係をインストールする開発者がまったく同じ出力を取得できるように、チェックインする必要があります。たとえば、[2016 年 10 月に利用可能になった] npm を 使用すると、新しいバージョン (1.2.1)を実行している新しい開発者が別のバージョン (1.2.1) を取得している間に、ローカルにバージョン (1.2.0 など) をインストールできます。patch
install