前書き
この記事は オープンロジアドベントカレンダー2019の3日目です。
みなさんはNode.js のバージョンマネージャーは使っていますか?
私はnodebrew をずっと利用していたのですが、LTSを入れるコマンドが存在せず、
使い勝手の悪さを感じていたので、最近は nvm というバージョン管理マネージャに乗り換えました。
使い方については、 GitHubの Readme と nvm --help
の出力結果を読めばそれで十分なのですが、その都度、英語を読むのは面倒なので、以下に個人的によく使うであろうものを取捨選択してチートシートとしてまとめておきます。
本稿での nvm のバージョンは v0.35.1 です。
.nvmrc
については別の方の記事を参照してください。本稿では言及しません。
チートシート
前提
- 間違ったオプションや文字列を入力したら、
nvm --help
の内容を表示される。-
nvm
と打つだけでもnvm --help
の内容が表示される。
-
- 出力結果に色がつくものは
--no-colors
オプションをつけるとプレーンテキストで出力される。 - バージョン指定する際に、オプションに
--lts
で最新のLTS を指定できる。(2019年12月現在はv12の最新バージョン) - 特定のLTSを指定したい場合は、
--lts=<LTS name>
で 指定できる。-
--lts=carbon
-> v8の最新 -
--lts=dubnium
-> v10の最新 -
--lts=erbium
-> v12の最新
-
基本
ヘルプを表示する
$ nvm --help
nvmのバージョンを表示する
$ nvm --version
インストールされているNode.jsのバージョンを表示する
$ nvm version <version>
バージョンを指定しない場合は nvm current
と同じ挙動
現在利用しているNode.jsのバージョンを表示する
$ nvm current
バージョンを指定しない場合、現在の Node.jsのバージョンを表示し、バージョンを指定した場合はローカルにインストールされている最新のバージョンを表示する
指定バージョンのNode.js をインストール
$ nvm install <version>
指定したバージョンのNode.js を ダウンロードしてインストールして利用するバージョンを切り替える。
すでにインストール済みの指定したバージョンのNode.js から node_modules を引き継いてインストール
$ nvm install <version> --reinstall-packages-from=<version>
デフォルトパッケージをスキップして指定したバージョンのNode.jsをインストール
$ nvm install <version> --skip-default-packages
指定したバージョンのNode.jsをインストールした後にそのNode.jsで利用できる最新のnpmをインストール
$ nvm install <version> --latest-npm
指定したNode.js のバージョンをアンインストール
$ nvm uninstall <version>
指定したNode.jsのバージョンを利用する
$ nvm use [--silent] <version>
--silent
オプションを利用すると実行結果が表示されない。
インストールされているNode.jsの一覧を出力
nvm ls [<version>]
バージョンを指定した場合は指定したバージョンがすべて表示される
リモートに登録されているNode.jsのバージョンの一覧を出力
nvm ls-remote [<version>]
現在利用しているNode.jsのバージョンでの最新のnpmへのアップグレード
nvm install-latest-npm
バージョン指定したグローバルのnpmバッケージを現在のバージョンにインストール
nvm reinstall-packages <version>
指定したNode.jsのバージョンのインストール先のパスを表示する。
nvm which [current | <version>]
指定したNode.jsのバージョンでコマンドを実行する
nvm exec [--silent] <version> [<command>]
--silent
オプションを利用すると実行結果が表示されない。
引数付きで指定バージョンのNode.jsを実行
nvm run [--silent] <version> [<args>]
--silent
オプションを利用すると実行結果が表示されない。
便利な使い方
最新のLTSをインストールして、現在利用しているNode.jsのパッケージもインストール
nvm install "lts/*" --reinstall-packages-from=current
これでLTSを最新にしたときに現在グローバルにインストールされている node_modulesも手軽にインストールできます。