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 ビルド時間を短縮できます。
Yarn 2.xでは、 Zero Installsという機能が追加されました。Zero Installsを使用している場合、特別なキャッシュは必要ありません。
Yarn 2.x を Zero Installs なしで使用している場合は、次のように設定します。
#...
- restore_cache:
name: Yarn パッケージのキャッシュの復元
keys:
- yarn-packages-{{ checksum "yarn.lock" }}
- run:
name: 依存関係のインストール
command: yarn install --immutable
- save_cache:
name: Yarn パッケージのキャッシュの保存
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
#...
Yarn 1.x の例:
#...
- restore_cache:
name: Yarn パッケージのキャッシュの復元
keys:
- yarn-packages-{{ checksum "yarn.lock" }}
- run:
name: 依存関係のインストール
command: yarn install --frozen-lockfile --cache-folder ~/.cache/yarn
- save_cache:
name: Yarn パッケージのキャッシュの保存
key: yarn-packages-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
#...
関連項目
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか?
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、サポートサイトから、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。

CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.