Help us understand the problem. What is going on with this article?

yarnチートシート

More than 3 years have passed since last update.

webpackに引き続き、Railsが推してるフロントパッケージマネージャのyarnを調べてみました。npmも慣れてきたんで変えるのやだなー、と思ってたのですが互換性高くて移行しやすいし、動作も速くていい感じです。

概要

yarn = フロント(js)のパッケージマネージャ

  • Facebook発、オープンソース、BSDライセンス

  • npmと互換性がある

    • npmと同じpackage.json, node_modules/で構成される
    • コマンドも似ている
  • バージョンの厳密な管理ができる

    • package.jsonでバージョンそのものではなく、許容するバージョンの範囲を指定する
    • 実際にインストールされた際のバージョンはyarn.lockに記録され、別マシンで再現可能になる
  • npmに比べて高速に動作する

導入

Homebrewあるいはnpmでインストールできる。

# Homebrewから
$ brew install yarn
# npmから
$ npm --global install yarn

npmとの対応

公式によく使うnpmコマンドとの対応一覧があるので参照のこと。

上記のリストに加えて自分がよく使いそうなコマンドを抜粋:

npm yarn 機能
npm init yarn init 管理を開始(インタラクティブ)
npm init -y yarn 管理を開始(即時)
npm install yarn install 記録されたパッケージをインストール
npm install --save [package@version] yarn add [package@version] インストール + 記録
npm install --save-dev [package] yarn add --dev [package] 開発環境にのみインストール + 記録
npm install --global [package] yarn global add [package] グローバルにインストール
npm uninstall --save [package] yarn remove [package] パッケージと記録を削除
npm uninstall --save-dev [package] yarn remove [package] 開発環境のパッケージと記録を削除
npm update --global yarn global upgrade グローバルのパッケージ全体を更新
rm -rf node_modules && npm install yarn upgrade ローカルのパッケージ全体の更新
npm update [package] yarn upgrade [package] ローカルのパッケージの更新
npm cache clean yarn cache clean キャッシュクリア
npm info [package] yarn info [package] パッケージ情報の表示
npm outdated yarn outdated 古いパッケージ一覧の表示
npm run [script] yarn run [script] package.json内のscriptに定義されたスクリプトを実行
npm search [package] なし?
yarn info [package]で一応調べられる
パッケージのバージョン一覧の取得

package.jsonに記録しないでインストールするnpm install に相当する機能はなくなった。パッケージの管理が常に記録されるようになって厳密さが増してる感がある。

yarn独自の機能

コマンドの一覧は公式のリファレンスを参照のこと。
便利そうなyarn独自(と思われる)コマンドを抜粋:

yarn 機能
yarn check package.jsonの内容を検証する
yarn create [kit] [project] [kit]に規定の方法でプロジェクトを新規作成する。(react-appなど)
yarn licenses ls インストール済みパッケージのライセンス一覧を表示
yarn versions 関連するミドルウェアのバージョン表示
yarn why [package] パッケージがインストールされた経緯を表示

参照

morrr
web/モバイルエンジニア。インフラからアプリまで色々やります。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした