LoginSignup
4
5

More than 5 years have passed since last update.

yarnpkgを開発環境とCI環境で使う

Posted at

地味に作業が多いのでyarnpkgを開発環境・CI環境で使うときに必要な手順を書いておきます

開発環境

開発環境にyarnをinstallする

Installationを参考に行う

.gitattributesでバイナリとして指定する

これが嬉しいかはチームによるかも?

yarn.lock binary

チームメンバーに周知

なにげに一番重要

CI環境

(以下、CircleCIベースで書きます)
参考URL:https://circleci.com/docs/yarn/

パッケージのインストール及びテストのコマンドをyarnに差し替え

yarn install時に--pure-lockfileを指定してlockファイル生成時のバージョンのパッケージを取得させます

circle.yml
dependencies:
  override:
    - yarn install --pure-lockfile
test:
  override:
    - yarn test

node_modules/.binへパスを明示的に通す

(CircleCIの都合なので他のCIサービスでは事情が異なりそう

circle.yml
machine:
  environment:
    PATH: "${PATH}:${HOME}/${CIRCLE_PROJECT_REPONAME}/node_modules/.bin"

キャッシュ使う

便利

circle.yml
dependencies:
  cache_directories:
    - ~/.cache/yarn

おわりに

yarn便利!

ちなみにこの記事書いたのは、CIでyarn installしたらTypeScript2.2が入ってきてlockファイルが更新されてしまい、Scalariform使ったチェックが落ちたのがきっかけ。
というわけでCIで使うときやリリースビルド作るときはちゃんとyarn install --pure-lockfile使いましょう、という話でした。

4
5
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
4
5