2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CircleCI 高速化のためにYarn を導入する

Posted at

yarn

Facebookチームを中心に生まれた新しいパッケージマネージャー。

npm とちがって以下のような利点があるらしい

  • lockfileによるバージョン固定
  • セキュリティの向上
  • 高速なインストール

一応npmにもshrinkwrapと言うかたちでバージョン固定はあるらしい。

セキュリティに関してはパッケージのチェックや、キャッシュの活用などがあるとのこと。

Usage

Yarn は npm でインスール可能

npm i -g yarn

既存の npm プロジェクト上で yarn install すれば、yarn.lock ファイルが生成される。

なお yarn iはNG。代わりに、yarn installと等価なyarn が用意されている。

パッケージの追加・削除

パッケージの追加削除には、yarn addyarn removeを用いる

yarn add <packageName>

yarn remove <packageName>

これらのコマンドは実行後にpackage.jsonyarn.lockファイルを更新してくれる。

その他のコマンド

その他にもinitrunなどのコマンドも追加されているが、npmとどう違うのかよくわからない…

yarnnpmのエイリアスとして使用する場面を想定している…?

CircleCI でYarnを使う

一応公式にもドキュメントがある。

以下のようなcircle.ymlを構築することで、yarnの実行ファイルとモジュールのキャッシュを保持してくれるよう

machine:
  environment:
    YARN_VERSION: 0.18.1
    PATH: "${PATH}:${HOME}/.yarn/bin:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"

dependencies:
  pre:
    - |
      if [[ ! -e ~/.yarn/bin/yarn || $(yarn --version) != "${YARN_VERSION}" ]]; then
        echo "Download and install Yarn."
        curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version $YARN_VERSION
      else
        echo "The correct version of Yarn is already installed."
      fi
  override:
    - yarn install
  cache_directories:
    - ~/.yarn
    - ~/.cache/yarn

test:
  override:
    - yarn test

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?