パッケージマネージャー「Yarn」の使い方
パッケージマネージャー「Yarn」について取り上げます。「npmとの違い」「インストール方法」「基本的な使い方」について解説していきます。
Yarnとは
Facebookが開発したJavaScriptのパッケージマネージャーです。
npmと比べて
- npmと互換性があります。
- キャッシュの有無にもよりますが、インストールがより速いです。
- ネットワーク接続失敗時、自動リトライします。
yarn.lock
によるバージョン固定化が行われます。yarn.lock
は、yarnでインストールした後に自動生成されます。
参考リンク
https://yarnpkg.com/ja/docs
https://github.com/yarnpkg/yarn
インストール
nodeパッケージなので、npm経由でインストールできます。
npm install -g yarn
インストール後、ヘルプを確認してみます。
yarn -h
パッケージ管理のはじめかた
package.jsonが存在しない場合、まず該当プロジェクトで yarn init
を実行します。
$ mkdir front_test
$ cd front_test
$ yarn init
yarn init v1.9.4
question name (front_test):
question version (1.0.0):
question description:
question entry point (index.js):
question repository url:
question author:
question license (MIT):
question private:
success Saved package.json
✨ Done in 14.71s.
package.jsonが生成されました。
$ ls
package.json
$ cat package.json
{
"name": "front_test",
"version": "1.0.0",
"main": "index.js",
"license": "MIT"
}
すでにpackage.jsonが存在する場合、 yarn
を実行することで、 Yarnによるパッケージ管理ができます。
$ yarn
yarn install v1.9.4
info No lockfile found.
[1/4] ???? Resolving packages...
[2/4] ???? Fetching packages...
[3/4] ???? Linking dependencies...
[4/4] ???? Building fresh packages...
success Saved lockfile.
✨ Done in 0.05s.
yarn.lock
が生成されました。
$ ls
node_modules package.json yarn.lock
yarnの使い方
詳しいコマンドの使い方は、 https://yarnpkg.com/ja/docs/cli/で確認できます。
ここでは、よく使うコマンドについて取り上げます。
npm | yarn | 概要 |
---|---|---|
npm init |
yarn init |
package.json の作成 |
npm install |
yarn |
package.json を読み込み、必要なパッケージをインストール |
npm install --save [package] |
yarn add [package] |
パッケージをインストール |
npm install --save-dev [package] |
yarn add [package] --dev |
パッケージをインストール |
npm uninstall --save [package] npm uninstall --save-dev [package] |
yarn remove [package] |
パッケージをアンインストール |
rm -rf node_modules && npm install |
yarn upgrade |
ローカルプロジェクトの全パッケージを更新 |
npm update [package] |
yarn upgrade [package] |
ローカルプロジェクトの指定パッケージを更新 |
npm run [script] |
yarn run [script] |
下記で定義されたscriptを実行 1. package.json 内で定義されたscript2. node_modules/.bin/ の中に定義されたscript(yarnの場合) |
npm list |
yarn list |
インストール済みのパッケージ一覧を表示 |