LoginSignup
45
27

More than 5 years have passed since last update.

CI上のyarnの設定

Posted at

yarnをCI上で実行する場合、yarnとするよりも--frozen-lockfileを利用した方が安全です。
こうすると、yarn.lockを生成せず、更新がある場合に落ちる挙動をします。これによりCIと結果が異なることということが避けられます。

$ yarn --frozen-lockfile

似たようなオプションで--pure-lockfileがありますが、こちらはlockファイルを生成しないだけです。

また、--ignore-optionalを使ってローカルでしか使わないライブラリ(アプリとビルドとテストに不要なライブラリ)を除外してインストールするのも便利です。

$ yarn --frozen-lockfile --ignore-optional

enginesの指定

CIでyarnの最新をダウンロードするようにしておくと、いつの間にかyarnのバージョン更新されていることがあります。(ローカルとCIのバージョンがずれる)
これは嬉しくないので、package.jsonenginesを指定してチームで同じバージョン以上を使うようにしておくとよさそうです。

{
  "engines": {
    "node": ">=10",
    "yarn": "^1.10.0"
  }
}

またすぐv1.12がきそうな気もするので固定するyarnのバージョンについては議論がありそうです。

45
27
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
45
27