LoginSignup
7
6

More than 3 years have passed since last update.

nodenvでMacにNode.jsをインストールする(auto rehash対応版)

Last updated at Posted at 2020-05-22

nodenvというNodeバージョン管理ツールを使って、Node.js環境を構築します。

nodenvインストール

Homebrewでインストール

$ brew install nodenv

nodenvはnode-buildコマンドに依存していますが、このコマンド一発でnode-buildもインストールしてくれます。

一旦セットアップコマンドを実行する

$ eval "$(nodenv init -)"

ドキュメントではこのコマンドをシェルの設定ファイルに追記するよう書いてますが、【最後】で実施します。

【最後】の工程までシェルを閉じたり再起動しないようにしてください。再起動してしまった場合は、上記のセットアップコマンドを再度実行してください。

nodenvコマンドが使えることを確認する

$ nodenv -v
nodenv 1.3.2

Node.jsインストール

バージョン一覧

インストールしたいバージョンを確認します。
ちなみに2021/01現在の最新推奨版(LTS)は14.15.4です。
最新推奨版(LTS)はNode.js公式ページで確認できます。

$ nodenv install -l
~~
14.15.3
14.15.4

インストール

$ nodenv install 14.15.4

グローバルに設定

$ nodenv global 14.15.4

インストールしただけでは使えないので、グローバルで使用するnodeのバージョンを指定します。

インストール確認

$ node -v
v14.15.4

$ npm -v
6.14.10

【必須】 nodenv-package-rehashプラグインのインストール

通常nodenvでグローバルにCLIコマンドアプリをインストールしても、その後に手動でnodenv rehashを実行しないとシムリンクが更新されないので、すぐ使えず面倒です。
例:npm install -g @vue/clivueコマンドをインストールしても、nodenv rehashを実行しないとvueコマンドが使えない。

このプラグインはシムリンクの更新を自動で行ってくれるので、nodenv rehashを手動で叩く必要がなくなります。

インストール

$ git clone https://github.com/nodenv/nodenv-package-rehash.git "$(nodenv root)"/plugins/nodenv-package-rehash

$ nodenv package-hooks install --all

 【最後】 シェル設定ファイルにnodenvセットアップコマンドを追記

ご利用のシェルの設定ファイルにセットアップコマンドを追記してください。
(デフォルトのシェルはmacOS Catalina以降ならzshなので.zprofile、macOS mojave以前ならbashなので.bash_profile
プラグインを有効にするため、--no-rehashオプションを付けています。

# 手動追記する場合は、以下をシェル設定ファイルに追記
eval "$(nodenv init - --no-rehash)"
# 自動追記
# zshの場合
$ echo 'eval "$(nodenv init - --no-rehash)"' >> ~/.zprofile

# bashの場合
$ echo 'eval "$(nodenv init - --no-rehash)"' >> ~/.bash_profile

以上でnodenvのインストールはすべて完了です。

備考

nodenvをアップグレードする場合

$ brew upgrade nodenv node-build

node-build-update-defsのインストール

node-build-update-defsというプラグインをインストールすれば、

$ nodenv update-version-defs

でバージョン一覧を更新できる。以下インストールコマンド

$ brew install nodenv/nodenv/node-build-update-defs
7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6