npmも最近は、ほぼyarnと同じような仕様・挙動になったので、npmでもいいんだと思いますが、
自分はnpmでいろいろコケたりしたあとでyarnに変えてだいぶ楽になったこともあって、いまもyarnを使っています。(猫好き)
性能的にもいまやほとんどnpmおYarnに肉薄してるらしいですが、巷の検証記事とかを読む限りは、Yarnのほうが、まだ若干早かったり、データサイズが軽かったりするっぽい。(感覚値。真面目に検証はしてないです)
コマンドもすっきりしていて楽チンな印象。
使うひとが増えてくれるかなということで、ゆるく使っている自分の認識をまとめてみます。
Yarnのインストール
ほぼほぼここに書いてある通りですが。
brew install yarn
Homebrewからインストールできます。
自分の場合は n というNode.jsのバージョンを管理するツールを入れてるので
brew install yarn --without-node
というオプション付きでインストールしました。
おまけ:Node.jsバージョン管理ツール「n」について
Node.jsでNode.jsのバージョンを切り替えるという不思議なツール。
下記の記事を参考してインストールしました。
Node.jsのバージョンをさくっと切り替えられるので便利です。
nodeのバージョンをnで管理する - Qiita
install
yarn
または
yarn install
package.jsonに書かれたパッケージをよしなにインストールしてくれます。
https://yarnpkg.com/ja/docs/cli/install
add
yarn add パッケージ名
任意のパッケージをインストール。
https://yarnpkg.com/ja/docs/cli/add
--dev
オプションをつけるとpackage.jsonのdevDependencies
のほうに、オプションなしだとdependencies
のほうにパッケージ名とバージョンが追記されます。
つくるものはWebサイトとかが多いので、jQueryみたいなサイトの動作に直接必要なものはオプション無しでインストールして、gulpとか開発のためのツールは--dev
オプションつけてインストールしてますが、ただWebサイト作ってる分には全部オプション無しとかでも、ほぼ実害はないはず。。(自分は気持ち悪いので自分なりの解釈で分けていますが)
参考: ちゃんと使い分けてる? dependenciesいろいろ。 - Qiita
https://qiita.com/cognitom/items/acc3ffcbca4c56cf2b95
outdated
yarn outdated
巷の最新バージョンと、現在インストールされているバージョンを比べてふるいものをリストアップして表示してくれます。
こんな感じです。
赤い色で表示されたパッケージはメジャーバージョンアップなど大きな仕様変更が入っているもので、後述のupgrade
コマンドを実行してもバージョンアップされません。
upgrade
yarn upgrade
古いバージョンのパッケージを上書きしてくれます。
yarn upgrade --latest
というように、--latest
オプションをつけると、前述のoutdated
コマンドで赤い文字で表示されたメジャーバージョンアップも反映され、package.jsonに記載されたバージョン番号も最新のものに書き換えられます。
(動作になにかしら影響が出るので可能性が高いので、--latest
オプションは、その辺り注意が必要)
remove
yarn remove パッケージ名
パッケージをアンインストール
run
yarn run コマンド名
または
yarn コマンド名
package.jsonのscripts
っていうところで定義したコマンドを実行できます。
いわゆる npm scripts というやつで、gulpとかつかわずとも簡単な処理はこれで作れます。
npm-scriptsについて - Qiita
https://qiita.com/axross/items/a2a0d148e40b66074858
yarnの機能というよりはnpmの機能かなという気もしますが、厳密にはyarnのrun
はnpmのそれとちょっと違うらしいです。
yarn run が便利 - Qiita
https://qiita.com/y13i/items/27d39edac23b7a867935