CircleCI での Yarn (npm の代替) の使用
Yarn は、JavaScript 用のオープンソース パッケージ マネージャーです。 Yarn によってインストールされるパッケージはキャッシュできるため、 ビルドを高速化できるだけでなく、さらに重要なメリットとして、ネットワーク接続に関するエラーも低減できます。
CircleCI での Yarn の使用方法
docker
Executor を使用している場合は、ビルド環境に既に Yarn がインストールされている可能性があります。 CircleCI が提供しているビルド済み Docker イメージでは、Node.js イメージ (circleci/node
) に Yarn がプリインストールされています。 circleci/python
、circleci/ruby
などの他の言語イメージを使用している場合は、Yarn と Node.js を含む 2 つのイメージ バリアントがあります。 -node
と -node-browsers
のイメージ バリアントです。 たとえば、Docker イメージ circleci/python:3-node
を使用すると、Yarn と Node.js がインストールされた Python ビルド環境が提供されます。
独自の Docker イメージ ベース、または macos
、windows
、machine
の Executor を使用している場合は、Yarn の公式ドキュメントの手順に従って Yarn をインストールできます。 Yarn ドキュメントには、マシン環境別のインストール手順が記載されています。 たとえば Unix 系の環境にインストールする場合には、以下の curl コマンドを使用します。
curl -o- -L https://yarnpkg.com/install.sh | bash
キャッシュ
Yarn パッケージをキャッシュして、CI ビルド時間を短縮できます。 以下に例を示します。
#...
- restore_cache:
name: Yarn パッケージのキャッシュの復元
keys:
- yarn-packages-{{ checksum "yarn.lock" }}
- run:
name: 依存関係のインストール
command: yarn install --frozen-lockfile
- save_cache:
name: Yarn パッケージのキャッシュの保存
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
#...