LoginSignup
2
0

More than 1 year has passed since last update.

Node.jsのバージョン管理 n でバージョンが切り替わらない

Last updated at Posted at 2022-02-28

事象

Node.jsのローカル環境でのバージョン管理にはnというバージョン管理ツールがオススメという記事が多数あったので、インストールした。その際に、n でインストールしたNodeバージョンに切り替わらなかった時の対応方法まとめ。 ※ nのインストール方法は省略。

生じた現状は以下。

usr@usrMacBook-Pro ~ % n stable
   installed : v16.14.0 to /Users/ogasawarasatoru/.n/bin/node
      active : v17.0.1 at /usr/local/opt/nvm/versions/node/v17.0.1/bin/node
usr@usrMacBook-Pro ~ % node -v
v17.0.1

n stableでNodeのLTSをインストール後、node -vで確認すると、activeのバージョンが違う。

原因

どうやら、最初から入っていたnvmのNodeがactiveとして設定されていたようで、n でインストールしたnodeが適用されなかった。(これ自体は正常な動き)

usr@usrMacBook-Pro ~ % which node
/usr/local/opt/nvm/versions/node/v17.0.1/bin/node

ちなみにnの向き先は以下。

usr@usrMacBook-Pro ~ % which n
/usr/local/bin/n

解決方法

ネットの記事を読む限り、nvmにシンボリックリンクを貼って向き先をnに変えたり、nvmの読み込み設定を削除したり、といった方法があった。自分の場合は、nvmをアンインストール、設定削除で解決。

  1. bash_profileからnvmの設定削除。
  2. bash_profile更新
  3. nvmのアンインストール
  4. nodeを入れてみて、バージョンを確認して終了

bash_profileからnvmの設定削除

エディターで.bash_profileを開いてnvmの記述を削除でもオッケー。ターミナルから実行する場合は、

$ vi ~/.bash_profile

.bash_profileを開く。vimコマンドを使って↓を削除。

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

保存して編集完了(escキー: → w+q)

bash_profile更新

source ~/.bash_profile

nvmのアンインストール

nvmをアンインストールするにはディレクトリを削除すれば良いとのこと。

usr@usrMacBook-Pro ~ % echo $NVM_DIR
/usr/local/opt/nvm
usr@usrMacBook-Pro ~ % rm -rf $NVM_DIR

参考: nvm(Node Version Manager)のアンインストール(削除)

nodeを入れてみて、バージョンを確認して終了

usr@usrMacBook-Pro ~ % n stable
   installed : v16.14.0 (with npm 8.3.1)
usr@usrMacBook-Pro ~ % node -v
v16.14.0

activeが表記からなくなり、正常にインストール完了。nodeの向き先がnに変わった様子。

usr@usrMacBook-Pro ~ % which node
/Users/username/.n/bin/node
usr@usrMacBook-Pro ~ % which n 
/usr/local/bin/n

参考記事

  1. Node.js のバージョンが変わらなくてイラッとしたときの解消法
  2. node js のバージョンアップができない...
  3. n command does not activate specified version
  4. 【ln】Linuxでファイルやディレクトリにリンクを作成するコマンド
  5. 開発用アプリケーションのインストール...
2
0
1

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
2
0