yarnのコマンドチートシート
とりあえずよく使いそうなコマンドを列挙しておきます。
まだまだ少ないですが、新しいコマンドを使ったら随時追加していきます。
yarn init
コマンド | 説明 |
---|---|
yarn init | 新規プロジェクト作成 |
yarn init -y | プロジェクト名やVersionの入力を省略して新規作成 |
yarn add
コマンド | 説明 |
---|---|
yarn add <package...> | パッケージ追加 |
yarn add <package...>@[version] | バージョン指定でパッケージ追加 |
yarn add <package...>@[tag] | タグ指定でパッケージ追加 |
yarn add <package...> [--dev|-D] | devDependenciesにパッケージ追加 |
yarn add <package...> [--peer|-P] | peerDependenciesにパッケージ追加 |
yarn add <package...> [--optional|-O] | optionalDependenciesにパッケージ追加 |
yarn add <package...> [--exact|-E] | バージョンを厳密に指定してパッケージ追加 |
yarn add <package...> [--tilde|-T] | 指定したminorバージョンまでを固定してパッケージ追加 |
peerDependenciesについて
公式にはreact-domとreactのような依存関係のようなものとあります。
react-domを動かすにはreactが必要で特定バージョンを優先して使用したい場合
などといった場合はこの追加オプションを使用するのだと思います。
※解釈間違っていたらご指摘くださいm(__)m
optionalDependenciesについて
公式には全てのマシンで動作させる必要がない場合とあります。
例としてWatchmanが上がっています。
--exact/-E オプションについて
デフォルトだとmajorバージョンが同一で最新のリリースバージョンが追加されるようになっているので、
特定バージョンのみを追加したい場合はこちらのオプションを使います。
以下具体例になります。
# fooパッケージの最新バージョンは1.9.1とします
# オプション指定なしの場合
$ yarn add foo@1.2.3 # 1.9.1が追加されます
# オプション指定ありの場合
$ yarn add foo@1.2.3 --exact # 1.2.3が追加されます
--tilde/-T オプションについて
指定したminorバージョンまでを固定してパッケージを追加したい場合に使います。
以下具体例になります。
# fooパッケージに1.2.9と1.3.0(最新)のバージョンが存在するとします
# オプション指定なしの場合
$ yarn add foo@1.2.3 # 1.3.0が追加されます
# オプション指定ありの場合
$ yarn add foo@1.2.3 --tilde # 1.2.9が追加されます
yarn install
コマンド | 説明 |
---|---|
yarn install | インストール |
yarn install --check-files | インストール + node_modulesにあるファイルが削除されていないことを確認 |
yarn install --flat | インストール + パッケージ毎に一つのバージョンのみを許可 |
yarn install --force | 強制インストール |
yarn install --ignore-scripts | インストール + package.jsonに書かれているscripts は実行しない |
yarn install --production[=true|false] | インストール + production用インストールをする(しない)の制御 |
--flatオプション
実行すると以下のように対話モードでバージョンを選択していきます。
$ yarn install --flat
yarn install v0.27.5
info No lockfile found.
[1/4] Resolving packages...
info Unable to find a suitable version for "core-js", please choose one by typing one of the numbers below:
1) "core-js@^2.5.0, core-js@^2.4.0" which resolved to "2.5.1"
2) "core-js@^1.0.0" which resolved to "1.2.7"
Answer?: 1
インストールが完了するとpackage.jsonの中はこうなります。
※抜粋
"resolutions": {
"core-js": "2.5.1",
"strip-ansi": "3.0.1",
"supports-color": "4.4.0",
"ansi-regex": "2.1.1",
"jsesc": "1.3.0",
"minimist": "0.0.8",
"acorn": "5.1.2",
"ajv": "5.2.2",
"yargs": "8.0.2",
"inherits": "2.0.3",
"string_decoder": "0.10.31",
"punycode": "1.4.1",
"hash-base": "2.0.2",
"camelcase": "4.1.0",
"cliui": "3.2.0",
"kind-of": "3.2.2",
"is-number": "2.1.0",
"string-width": "2.1.1",
"is-fullwidth-code-point": "2.0.0",
"assert-plus": "0.2.0"
}
--productionオプション
このオプションを指定してインストールすると、devDependenciesに記載しているパッケージはインストールされません。なので、production環境にインストールする際にはこちらのオプションをつけてインストールするといいと思います。
また、公式にも書いてありましたが、yarnは通常環境変数のNODE_ENV
を見て環境判別をしていて、NODE_ENV
にproduction
が設定されていればこのオプションがなくてもproduction用インストールがされます。
このオプションはNODE_ENV
が設定されていてもその設定を無視し、オプションに与えられた設定を優先します。
yarn config
コマンド | 説明 |
---|---|
yarn config list | 現在の設定を表示 |
yarn config get <key> | <key>の設定を標準出力 |
yarn config set <key> <value> [-g|--global] | <key>の設定に<value>を追加 |
yarn config delete <key> | <key>の設定を削除 |
cacheディレクトリの変更コマンド
yarn config set cache-folder <path>
yarn cache
コマンド | 説明 |
---|---|
yarn cache list | cacheされているパッケージの一覧表示 |
yarn cache dir | cache先のディレクトリパスを表示 |
yarn cache clean <module_name> | のキャッシュ削除 |
yarn info
コマンド | 説明 |
---|---|
yarn info <package> | <package>の情報を表示 |
yarn info <package>@[version] | <package>の特定バージョンの情報を表示 |
yarn info <package> [<field>] | <package>の<field>情報のみを表示 |
yarn info <package> --json | <package>の情報をjsonで表示 |
こちらのコマンドは特定パッケージの情報を表示するコマンドですが、
特徴としてローカルにインストールされている必要はないというところです。
field指定サンプル
# reactのdescriptionを見たい時
$ yarn info react description