nodenvでnode.jsのバージョン管理
何番煎じだよってぐらいの記事ですが、やったことのメモ程度にまとめたいと思います。
ndenvからnodenvへ移行しました
ndenvのgithubページのREADME.mdへ、2018年12月27日にnodenvへの移行を推奨する文言が追加されました。
Please consider to use nodenv. ndenv repository is not maintained actively.
GitHub - riywo/ndenv: node.js version manager based on rbenv
そうかぁ、入れたばっかりなんだけどな...と思いつつ素直に移行します。
nodenvインストール
https://github.com/nodenv/nodenv
$ brew install nodenv
brewでinstallします。node-build
も一緒にインストールされます。
$ echo 'eval "$(nodenv init -)"' >> ~/.bash_profile
.bash_profileにnodenvをセットアップするコマンドを記述します。
$ exec $SHELL -l
.bash_profileを再読み込みして設定を適用させます。
curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
nodenv-doctor scriptで、インストールされたか確認します。
Checking for `nodenv' in PATH: /usr/local/bin/nodenv Checking for nodenv shims in PATH: OK Checking `nodenv install' support: /usr/local/bin/nodenv-install (node-build 3.0.22-4-g49c4cb9) Counting installed Node versions: none There aren't any Node versions installed under `~/.nodenv/versions'. You can install Node versions like so: nodenv install 2.2.4 Auditing installed plugins: OK
のように最後にOK
の文字を確認できれば完了。
node -v で出てくるバージョンが違う時
which node
でどこを参照しているか調べます。
/Users/hogehoge/.ndenv/versions/v8.10.0/bin/node
などの.ndenv配下のディレクトリではなく
/usr/local/lib/node
とかだった場合、すでに入っているnodeのバージョンが表示されているので、そちらをアンインストール、もしくは削除します。
削除コマンド例:
$ rm -rf /usr/local/lib/node
rm
は削除
-rf
オプションは-r
と-f
を含んでおり、詳細は下記です。
オプション名 | 説明 |
---|---|
-r | 指定したディレクトリ以下すべてのファイル・サブディレクトリを再帰的に削除 |
-f | 書き込み許可が無くても問い合わせやメッセージ無しで削除 |
$ node -v $ nodenv -v
が同じバージョンになれば環境構築完了です。
yarnを使う場合
Yarnは速いと定評のあるパッケージマネージャーです。
node.jsをダウンロードするとデフォルトでnpmをインストールしてくれますが、yarnはインストールしてくれませんので、下記の便利なpluginを利用します。
GitHub - pine/nodenv-yarn-install: Automatically install Yarn after nodenv install
$ mkdir -p "$(nodenv root)/plugins"
pluginsディレクトリを作成します。-p
オプションなので、すでにディレクトリがある場合はなにも起こりません。
ちなみに、私はこの時に(nodenv root)
を書き換えるのだと勘違いしてなかなか入らず苦戦していました...とくに書き換えずにこのままでOKなんですね。お恥ずかしい。
$ git clone https://github.com/pine/nodenv-yarn-install.git "$(nodenv root)/plugins/nodenv-yarn-install"
作成したディレクトリにgit cloneします。
インストールできたか確認します。
$ exec $SHELL -l $ ndenv hooks install
ndenv-yarn-install
を含んだ何らかのパスが表示されればインストール完了。
まとめ
便利なツールを作ってくださる開発者のみなさまには感謝しかありません。
少しでも情熱をお返しできるように、日々精進いたします。