nでNode.jsアップグレードしても変わらない

動作環境

MacOS M1
node.js

原因

過去にenyenvの設定をしていたことが原因でした。
.bash_profileを開いて、anyenvの行をコメントアウトしたら、node.jsのバージョンが変わりました。

参考サイト

node.js「n」でアップデートしても反映されない
こちらの例では、過去にnodebrewをインストールしていたため反映されないとのことで参考になりました。感謝。
オールインワンな開発環境をanyenvで構築する
enyenvの解説サイト。参考にしました。

解決方法1

.bash_profileからeval “$(anyenv init -)" の行をコメントアウトして、ターミナルを再起動して、node -vをして変更されているのを確認しました。
(あと、/Users/[ユーザー名]/.anyenv/envs/nodenv のフォルダを移動しました)

デメリットとして、今までグローバルでインストールしたnpm のリストが消えてしまいます。(enyenvでも一緒でした)

// グローバルでインストールしたnpmのリストを確認
npm list -g

解決方法2(推奨)

せっかくanyenvを利用しているので、enyenvの設定を変更して、システム全体で利用しているnodeのバージョンを変更します。

// enyenvでインストールできるバージョンの確認
nodenv install -l 

// インストール
nodenv install 16.10.0

// 一度リハッシュを行う
nodenv rehash

// システム全体で使用するバージョンを指定する
nodenv global 16.10.0

// 確認
node -v

// バージョンを変更するとグローバルでインストールしたリストもリフレッシュされてしまう様子
npm list -g

デメリット anyenvでnodeのバージョンを管理していることを、つい忘れてしまう。

感想

過去にenyenvの設定をしたのですが、全く使っていませんでした。
nodeのバージョンを変更する場合、nを使って変更する解説サイトばかりなので、nをインストールしましたが、enyenvを使っている場合nを利用する必要はないようです。

nodejs

Posted by パソコンの先生