Migrating from npm

, Author

npm からの移行は、ほとんどのユーザーにとってかなり簡単なプロセスであるはずです。 Yarn は npm と同じ package.json フォーマットを使用し、npm レジストリから任意のパッケージをインストールできます。

既存の npm プロジェクトで Yarn を試してみたい場合は、次のコマンドを実行してみてください。

もしエラーが発生した場合は、既存の問題を確認するか、Yarn issue tracker に報告してください。

yarnまたはyarn add <package>を実行すると、Yarn はあなたのパッケージのルートディレクトリに yarn.lock ファイルを生成します。 このファイルを読んだり理解したりする必要はなく、ただソース管理にチェックインするだけです。 他の人が npm の代わりに Yarn を使い始めたとき、yarn.lock ファイルは彼らがあなたと同じ依存関係を正確に取得することを保証します。 場合によっては、package.json ファイル内の情報は依存関係を排除するのに十分明確ではなく、 Yarn が依存関係を選択する決定論的な方法は依存関係の衝突に遭遇することになります。 これは特に大規模なプロジェクトで起こりやすく、npm installが機能しないことがあり、開発者が頻繁にnode_modulesを削除して一から作り直すような場合に起こりがちです。

Yarn 1.7.0 では、npm で生成した package-lock.json の状態を yarn import で Yarn にインポートできます。

プロジェクトの他の開発者は npm を使い続けられるので、プロジェクトの全員が同時に変換する必要はないでしょう。 yarn を使っている開発者は全員全く同じ設定を取得し、npm を使っている開発者は若干異なる設定を取得することになりますが、これは npm の意図した動作です。

その後、Yarn が自分に合わないと判断したら、特に変更せずに npm に戻せばいいのです。 プロジェクトで誰ももう Yarn を使っていないのであれば、古い yarn.lock ファイルを削除することもできますが、その必要はありません。

現在 npm-shrinkwrap.json ファイルを使っている場合、依存関係のセットが異なることに注意してください。 Yarn は npmshrinkwrap ファイルをサポートしません。なぜなら、これらのファイルには Yarn がより決定論的なアルゴリズムを実行するのに十分な情報が含まれていないからです。 もしshrinkwrapファイルを使用しているのであれば、プロジェクトに参加している全員を同時にYarnを使用するように変換するのが簡単でしょう。 既存のnpm-shrinkwrap.jsonファイルを削除し、新しく作成したyarn.lockファイルをチェックインするだけです。

CLI コマンドの比較

の場合

の場合。

npm (v5) Yarn
npm install yarn add
(n/a) yarn add --flat
(n/a) yarn add --har
npm install --no-package-lock yarn add --no-lockfile
(n/a) yarn add --pure-lockfile
npm install --save yarn add
npm install --save-dev yarn add --dev
(n/a) yarn add --peer
npm install --save-optional yarn add --optional
npm install --save-exact yarn add --exact
(n/a) yarn add --tilde
npm install --global yarn global add
npm update --global yarn global upgrade
npm rebuild yarn add --force
npm uninstall yarn remove
npm cache clean yarn cache clean
rm -rf node_modules && npm install yarn upgrade
npm version major yarn version --major
npm version minor yarn version --minor
npm version patch yarn version --patch

コメントを残す

メールアドレスが公開されることはありません。