CircleCI での Yarn (npm の代替) の使用

Last updated
Tags Cloud Server v3.x Server v2.x

Yarn は、JavaScript 用のオープンソース パッケージ マネージャーです。 Yarn によってインストールされるパッケージはキャッシュできるため、 ビルドを高速化できるだけでなく、さらに重要なメリットとして、ネットワーク接続に関するエラーも低減できます。

CircleCI での Yarn の使用方法

Docker Executorを使用している場合は、実行環境に Yarn がすでにインストールされている可能性があります。 CircleCI が提供しているビルド済み Docker イメージでは、Node.js イメージ (circleci/node) に Yarn がプリインストールされています。 circleci/pythoncircleci/ruby などの他の言語イメージを使用している場合は、Yarn と Node.js を含む 2 つのイメージ バリアントがあります。 -node-node-browsers のイメージ バリアントです。 たとえば、Docker イメージ circleci/python:3-node を使用すると、Yarn と Node.js がインストールされた Python 実行環境が提供されます。

独自の Docker イメージ ベース、または macoswindowsmachine の 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 でご利用いただけます。 ご協力いただき、ありがとうございます。

サポートが必要ですか?

CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。

または、サポートサイトから、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。