参考
npmを使い始めて3日目、さっそくyarnに変更しちゃいました!
変更理由
1.yarnのほうがnpmより打ちやすい
・これは個人の問題
2.コマンドが簡潔
・yarn usage
3.パフォーマンスが高い
・ベンチマーク結果はこちら
4.npmと互換がある
・npmとyarnのコマンド早見表
5.facebook製
・Company Info | About Facebook
6.まだnpmに愛着がない
yarn
要点
yarnへの移行に伴う副作用を最小限にするためコマンド文法を統一することにした。
俺の感覚ではinstall
とadd
の意味は次のようになる。
install
・まとめてパッケージを追加する
・セット注文
のようなもの
・ハッピーセットください!
add
・個別に1つパッケージを追加する
・単品注文
のようなもの
・ハンバーガー単品でください!
※注意点
yarnではinstallはpackage.jsonがないと行えない。installとaddを区別している。
簡単と単純はちがう
yarnのinstallはpackage.jsonを元にインストールされます。少し使っていれば気づくと思います、なんでもかんでもinstallのみで簡単にやってのけるnpmはパッケージ管理としてイマイチだなあと。yarnはきちんと区別しているので混乱することがありません。
globalオプションの文法が少し違う
globalはinstallのまえに書く
[正しい]
npm install global
yarn global add
[間違い]
globalというバッケージもインストールしてしまうことになる
yarn add global パッケージ名
alias設定
yarn流にnpmのaliasも設定する。
まとめてパッケージを追加する
[ローカル]
alias ni='npm install'
alias yi='yarn install'
個別に1つパッケージを追加する
[ローカル]
alias na='npm install'
alias ya='yarn add'
[グローバル]
alias nga='npm install -g'
alias yga='yarn global add'
devオプション
[devDependencies]
npm : --save-dev
yarn : --dev
アンインストール
yarnはオプション指定なしで勝手に見つけて削除してくれます。楽ちんですね。
npm : uninstall --save-dev パッケージ名
yarn : remove パッケージ名
その他
# yarnのaliasを確認
alias agy='alias | grep yarn'
# その他
alias yad='yarn add --dev'
alias yls='yarn list'
alias ygls='yarn global list'
alias yrm='yarn remove'
alias ygrm='yarn global remove'
alias yup='yarn upgrade'
alias ygup='yarn global upgrade'
まとめ
# alias確認
alias agy='alias | grep yarn'
# ローカル
alias yi='yarn install'
alias ya='yarn add'
alias yad='yarn add --dev'
alias yrm='yarn remove'
alias yup='yarn upgrade'
alias yls='yarn list'
# グローバル
alias yga='yarn global add'
alias ygrm='yarn global remove'
alias ygup='yarn global upgrade'
alias ygls='yarn global list'