以前ndenv
を使っていたのですが、気づいたらdeprecated
になっていたので転職時に新しい端末になったのを機にnodenv
へ移行しました。anyenv
使って入れるのがステップ数多くてだるいなと思っていたのですが、homebrew
であれば割とサクッと入れられそうだったので今回はこちらで導入してみるので、備忘録として残しておきます。
Homebrewの導入
導入済み前提で進めるので、導入方法については割愛します。
既存のNode.jsまたはNode.jsバージョン管理の削除
各々の環境で異なっている所だと思うので適時環境にあった方法にて対応ください。Macなら大体当該ディレクトリを消せば済むと思います。
nodenvのインストール
brew install nodenv
まぁまぁ時間がかかると思うので、のんびり待ちます。
初期化コマンドをシェルプロファイルに追記
eval "$(nodenv init -)"
を追記します。最近のMacならzshがデフォルトだと思うので~/.zshrc
でしょうか。
nodenv init
を打つとどのファイルに追記すればよいのかを教えてくれるようです。
% nodenv init
# Load nodenv automatically by appending
# the following to ~/.zshrc:
eval "$(nodenv init -)"
追記したらターミナルを再起動します。
インストール確認
nodenv
にはnodenv-doctor
という診断ツールが用意されています。以下のコマンドを叩くとnodenv
が正常にインストールされているかと、利用状況が出力されます。
% curl -fsSL https://github.com/nodenv/nodenv-installer/raw/master/bin/nodenv-doctor | bash
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 4.8.0)
Counting installed Node versions: none
There aren't any Node versions installed under `/Users/ユーザ/.nodenv/versions'.
You can install Node versions like so: nodenv install 2.2.4
Auditing installed plugins: OK
いたれりつくせりですね。
nodenv
の利用方法
ターミナルにnodenv
打てば全部丁寧に教えてはくれるのですが、代表的なのを抜粋しておきます。
利用出来るNode.jsのバージョン一覧
nodenv install -l
指定したバージョンのNode.jsをインストール
nodenv install {{ バージョン }}
インストール済みのNode.js一覧
nodenv versions
よくlistって打って怒られてます…
現在のNode.jsバージョン
nodenv version
node -v
でもいいんですが、こちらで表示するとNode.jsのバージョン選定理由が併記されます。
12.16.0 (set by /Users/ユーザ/.nodenv/version)
グローバルで使用するNode.jsのバージョンを指定
nodenv global {{ バージョン }}
プロジェクトで使用するNode.jsのバージョンを指定
nodenv local {{ バージョン }}
ターミナルでの現在位置に.node-version
というファイルが作られます。このファイルがあると、当該ディレクトリでNode.js実行時に自動的に指定バージョンのものを使おうとし、指定バージョンが導入されてなければ当該バージョンをインストールするようにエラーが出ます。
nodenv: version `12.16.0' is not installed (set by /Users/ユーザ/プロジェクト/.node-version)
PHPStormなどのJetBrains製IDE利用時にnpm
がないと怒られる場合
PHPStormなどのJetBrains製IDEを使っていると、過去にndenv
を利用していた時にも同じことを書いていますが、この状態でプロジェクトを開いてNPMスクリプトを実行しようとした際にパッケージマネージャが見つからないと怒られると思います。
非常にだるいのでなんとかします。
jetbrains-npm
をインストール
nodenv
のインストール先によって導入方法が異なるようですが、今回はデフォルトパスにインストールしているので推奨されている方法で導入します。
mkdir -p "$(nodenv root)/lib/node_modules"
git clone https://github.com/nodenv/jetbrains-npm "$(nodenv root)"/lib/node_modules/npm
導入が終わるとPHPStormがNPMを見つけてくれるようになり、NPMタブも無事叩き放題になります。
昔と比べると導入するのも楽になった気がします。多大な労力を割くような場所ではないと思うので、楽になるに越したことはないですね。