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 addやyarn removeを用いる
yarn add <packageName>
yarn remove <packageName>
これらのコマンドは実行後にpackage.jsonとyarn.lockファイルを更新してくれる。
その他のコマンド
その他にもinitやrunなどのコマンドも追加されているが、npmとどう違うのかよくわからない…
yarnをnpmのエイリアスとして使用する場面を想定している…?
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