Yarn

npm パッケージのマネージャー。npm コマンドの代替として使用する。

公式サイト:

Yarn [Official]

インストール

Windows

latest.msi をダウンロードして実行する。

Yarn [Official] (latest.msi)

参考:

Installation | Yarn [Official]

Installation | Yarn Classic [Official]

インストール (Windows) | Yarn [公式]

使い方

参考:

Yarn を使ってみた – Qiita

Yarn の導入/コマンド/試した感想など | Snaplog

Yarn メモ – Qiita

Yarn チートシート – Qiita

Yarn のコマンドチートシート – Qiita

npm と yarn のコマンド早見表 – Qiita

Usage | Yarn [Official]

概要

参考:

npm から乗り換えてわかった Yarn の4つのメリット – Qiita

そろそろ Yarn を使ってもいいんじゃない? | mille-feuille code

君の名は・・Yarn! – Qiita

yarn install

package.json ファイルの情報を元に、依存関係にあるパッケージを node_modules フォルダにインストールする。

$ yarn install

オプション

  • --check-files削除されたファイルやフォルダを再インストールする
  • --force既にインストールされているパッケージも強制的に再取得する

パッケージを再インストールするには、パッケージのフォルダ、もしくは node_modules フォルダを削除して、yarn install --check-files を実行する。

参考:

Yarn のキャッシュを理解して node_modules を正しく更新する | さかなソフトブログ

How do I force Yarn to reinstall a package? – Stack Overflow

yarn install --flat

参考:

Yarn: A package manager for Node.js | Pluralsight

Is there a Yarn equivalent for “npm dedupe”? – Stack Overflow

yarn add

パッケージを追加する。

$ yarn add chalk

オプションで依存関係のタイプを指定してパッケージを追加する。

  • --devdevDependencies に追加する
  • --peerpeerDependencies に追加する
  • --optionaloptionalDependencies に追加する

参考:

yarn add | Yarn [Official]

yarn add | Yarn Classic [Official]

Managing Dependencies | Yarn Classic [Official]

yarn add | Yarn [公式]

依存関係の管理 | Yarn [公式]

GitHub リポジトリにあるパッケージを追加する

GitHub の URL を指定してパッケージを追加する。

$ yarn add https://github.com/user/repo#tag

参考:

npm install/yarn add でブランチを指定する – Qiita

Github にあげた個人の npm パッケージをインストールする方法 – Qiita

yarn で github のプライベートリポジトリを add する簡単な方法 | polidog lab++

yarn add | Yarn Classic [Official]

yarn add | Yarn [公式]

How to install package from github repo in Yarn – Stack Overflow

ローカルのパッケージをデバッグする

参考:

yarn link | Yarn [Official]

yarn link | Yarn Classic [Official]

yarn link | Yarn [公式]

How do I force Yarn to reinstall a package? – Stack Overflow

yarn list

インストールされているパッケージを一覧表示する。

$ yarn list

深さやパターンを指定して一覧を表示する。

$ yarn list --depth=0 --pattern=stylelint

--depth依存関係の深さを指定する

--patternパターンを指定する

参考:

yarn list | Yarn Classic [Official]

yarn list | Yarn [公式]

How to list and use packages in Yarn 2? – Stack Overflow

yarn bin

実行ファイルへのシンボリックリンクが配置されるディレクトリのパスを表示する。

$ yarn bin
/path/to/node_modules/.bin

インストールされたパッケージのコマンド一覧を確認する。

$ ls $(yarn bin)

参考:

yarn bin | Yarn Classic [Official]

yarn bin | Yarn [公式]

yarn global

システムにインストールされたパッケージをリストする。

$ yarn global list

システムにパッケージをインストールする。

$ yarn global add vtop

パッケージをアンインストールする。

$ yarn global remove vtop

実行ファイルへのシンボリックリンクが配置されるパスを表示する。

$ yarn global bin

パッケージのインストール先を表示する。

$ yarn global dir

参考:

yarn global | Yarn [Official]

yarn global | Yarn [公式]

yarn global 便利じゃん – Qiita

yarn global add したパッケージのパスを通す – Qiita

npm や yarn のグローバルインストール先 | カンタロー CGI

Windows での npm と yarn でのグローバルインストール時の保存パスの違い | deezus blog

global binaries don’t install on mac os sierra · Issue #1321 · yarnpkg/yarn – GitHub

Where does yarn store global packages (lib not bin) · Issue #2049 · yarnpkg/yarn – GitHub

Global packages no longer work after node.js update with homebrew · Issue #2064 · yarnpkg/yarn – GitHub

Yarn can’t uninstall global packages that are not listed in the manifest · Issue #5838 · yarnpkg/yarn – GitHub

Yarn global command not working – Stack Overflow

Yarn package won’t upgrade globally (after migrating from NPM) – Stack Overflow

yarn global list が全てのパッケージをリストしない

yarn global dir が示すディレクトリの package.json を参照する。

$ cat "$(yarn global dir)/package.json"

Windows の場合は、type コマンドで表示する。

>type "%LOCALAPPDATA%\Yarn\Data\global\package.json"

参考:

npm や yarn のグローバルインストール先 | カンタロー CGI

“yarn global list” doesn’t list globally installed packages that don’t have binaries · Issue #5725 · yarnpkg/yarn – GitHub

Where does Yarn add global binaries on Windows? – Stack Overflow

yarn upgrade

参考:

yarn upgrade | Yarn [Official]

yarn upgrade | Yarn [公式]

yarn info

参考:

yarn info | Yarn [Official]

yarn info | Yarn [公式]

yarn why

参考:

yarn why | Yarn [Official]

yarn why | Yarn [公式]

yarn licenses

参考:

yarn licenses | Yarn [Official]

yarn licenses | Yarn [公式]

yarn run

参考:

yarn run が便利 – Qiita

yarn run | Yarn [Official]

yarn run | Yarn [公式]

yarn exec

コマンドを実行する。スクリプトが存在しても実行されることはない。

参考:

yarn/exec.js at v1.15.2 · yarnpkg/yarn – GitHub

yarn equivalent of npx ? · Issue #3937 · yarnpkg/yarn – GitHub

-s / --silent

yarn コマンドによる出力を抑制する。yarn run コマンド実行時、scripts のログは出力される。

参考:

Add `--silent` flag to CLI run command · Issue #788 · yarnpkg/yarn – GitHub

Add silent flag to allow raw output by rafaelrinaldi · Pull Request #2420 · yarnpkg/yarn – GitHub

Add silent flag to allow raw output (#2420) · yarnpkg/yarn@15faf3a – GitHub

yarn audit

脆弱性のあるパッケージがインストールされていないか確認する。

$ yarn audit

参考:

yarn audit | Yarn [Official]

is there a yarn alternative for npm audit? – Stack Overflow

yarn dedupe

明示的な dedupe は不要。yarn install の実行時に自動的に dedupe が行われる

参考:

yarn dedupe | Yarn [Official]

Don’t understand Yarn check warning – Stack Overflow

設定ファイル (.yarnrc)

yarn config コマンドによって構成できる。

現在の構成を表示する。

$ yarn config list

参考:

.yarnrc | Yarn [Official]

yarn config | Yarn [Official]

.yarnrc | Yarn [公式]

yarn config | Yarn [公式]

yarnpkg は ~/.yarnrc を見ている | HappyGoLucky

peerDependencies

参考:

Dependencies Done Right | Yarn Blog [Official]

Yarn incorrectly warns about unmet peer dependencies · Issue #5347 · yarnpkg/yarn – GitHub

What does ‘has unmet peer dependency’ mean when installing a package with yarn? – Stack Overflow

パッケージを検索する

Yarn にパッケージを検索する機能はないので、代わりに npm search コマンドを使う。

$ npm search webpack

Windows に Yarn をインストールする

Yarn v1

次のいずれかの方法で Windows に Yarn をインストールする。

  • 公式サイトで配布されているインストーラーをダウンロードして実行する。
  • Chocolatey でインストールする。(choco install yarn を実行する。)
  • Scoop でインストールする。(scoop install yarn を実行する。)

参考:

Yarn を導入しよう – Qiita

Installation | Yarn [Official]

Installation | Yarn Classic [Official]

インストール | Yarn [公式]

Mac に Homebrew で Yarn をインストールする

Yarn v1

brew コマンドで Yarn をインストールする。

$ brew install yarn

参考:

Yarn を使ってみる | 覚えたら書く

brew install yarn --without-node しても node がインストールされる。- Qiita

Installation (Mac) | Yarn Classic [Official]

Brew install yarn --without-node busted? | Homebrew [Official]

Yarn formula has no --without-node option · Issue #6946 · yarnpkg/yarn – GitHub

Homebrew で入れた Yarn をバージョンアップする

brew コマンドで Yarn のバージョンを更新する。

$ brew upgrade yarn

参考:

yarn のアップデートコマンド yarn self-update でバージョンアップができない – Qiita

CentOS にインストールする

参考:

How to Install Yarn on CentOS & Fedora | TecAdmin

Installation (CentOS) | Yarn Classic [Official]

Node.js を指定する

参考:

Ability to specify location of Node in .yarnrc · Issue #4780 · yarnpkg/yarn – GitHub

Node バージョンの不適合エラー

Node エンジンのバージョンが不適合である旨のエラーが発生する。

The engine "node" is incompatible with this module.

エンジンバージョンの不適合エラーを無視してインストールする。

$ yarn install --ignore-engines

参考:

Yarn 1.6.0 (Node.js 10) でのインストールエラー | T-CREATOR

使っている node のバージョンが対象外で yarn 時にエラーになる | nju33

yarn add で webpack を追加する時にエラーが出た話 | 下手の横好き

The engine “node” is incompatible with this module. エラーの解決方法 | ハトらぼ

DeprecationWarning: Buffer is deprecated

参考:

Replace use of deprecated/unsafe new Buffer constructor · Issue #5477 · yarnpkg/yarn – GitHub

Node 10

参考:

Does not support NodeJs 10. · Issue #5727 · yarnpkg/yarn – GitHub

upath のインストールが Node 10 でエラーになる

upath を依存関係に含むパッケージを Node 10 で使用すると Node エンジンのバージョン不適合エラーが発生する。

upath@1.0.2: The engine "node" is incompatible with this module. Expected version ">=4 <=9". Got "10.13.0"

エンジンのチェックをせずにインストールする。

$ yarn install --ignore-engines

参考:

Incompatible with Node.js v10 · Issue #14 · anodynos/upath – GitHub

caniuse-lite is outdated ワーニング

caniuse-lite のバージョンが古いという旨の警告が発生する。

Browserslist: caniuse-lite is outdated

対処法

yarn.lock 及び node_modules を削除して、全てのパッケージをインストールし直す。

$ rm yarn.lock
$ rm -rf node_modules
$ yarn install

参考:

Browserslist: caniuse-lite is outdated · Issue #1184 · postcss/autoprefixer – GitHub

How to upgrade indirect dependencies? · Issue #4986 · yarnpkg/yarn – GitHub

Yarn 2

参考:

Yarn v2 こと Berry を試してみている – Qiita

Yarn を Yarn 2 にアップグレードした話 | holly

Yarn を v1 から v2 へ移行する | kkoudev

Yarn v2 にまつわる誤解 | Wantedly Engineer Blog

Yarn 2 への移行 | Heroku Dev Center

Yarn は global での利用を推奨しない | あーありがち

Introducing Yarn 2 ! | Maël Nison

Hello Yarn 2, Goodbye node_modules | Friedrich Politz

Migration | Yarn [Official]

ドキュメント

Introduction | Yarn [Official]

Documentation | Yarn Classic [Official]

リポジトリ

yarnpkg/berry: Active Development Trunk for Yarn – GitHub

yarnpkg/yarn: Fast, Reliable, and Secure Dependency Management – GitHub

yarn-deduplicate

リポジトリ:

atlassian/yarn-deduplicate: Deduplication Tool for yarn.lock Files – GitHub

入手:

yarn-deduplicate – npm

参考:

yarn-deduplicate で yarn.lock の重複エントリを最適化する | Islands in the byte stream

yarn-deduplicate  –  The Hero We Need | Bnaya Peretz

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA