Node.jsのバージョンが勝手に最新版になる

開発で使用している自身のローカルPCで、意図せずNodeのバージョンを最新にしてしまったので、アンインストールしてから元のバージョンでインストールし直した。

しかし、日が経つといつの間にかバージョンが最新に戻っている。

その度にアンインストール、旧ver再インストールを繰り返し、cacheの削除なども試みたが原因不明。

この際なので、ノードのバージョン管理ツール、fnmで回避することにした。

fnmの使い方

fnmは、Fast Node Managerという、Node.jsのバージョンを自由に切り替えることができるようにするツール。

Gitから、fnm をダウンロードする。(fnmwindows.zip)

解凍して以下に格納 (nodeと同じ階層にした)

C:\Program Files

環境変数に以下のパスを追加

C:\Program Files\fnm-windows

PC再起動してから、動作確認

fnm -V  // バージョンが表示されたらインストール完了

fnmで、使用したいNode.jsバージョンをインストール

fnm install XX.XX.XX

インストールしたバージョンに切り替える

fnm use XX.XX.X

特定のバージョンをデフォルトにする ※自分の環境ではうまく動かなかったが

fnm default XX.XX.X

インストール済みのバージョン一覧を確認する

fnm list

インシデント

アクセスが拒否されました

ノードのバージョンをインストールしようとするとエラー。

error: Can't download the requested binary: アクセスが拒否されました。 (os error 5)

対象のバージョンが存在しないバージョンだった。他のバージョンに変えて成功。

インストールしたバージョンを使用しようとしたらエラー

error: We can't find the necessary environment variables to replace the Node version.
You should setup your shell profile to evaluate 'fnm env`, see https://github.com/Schniz/fnm#shell-setup
Check out our documentation for more information: https://fnm.vercel.app

セットアップが必要だからhttps://github.com/Schniz/fnm#shell-setupを見てくれとのこと。

読み解くと、コマンドプロンプトの場合は以下のコマンドを、ノードのバージョン切り替え前に行う必要がある。

FOR/f "tokens=*" %i IN ('fnm env --use-on-cd') DO CALL %i

この後で、インストールしたバージョンに切り替える

fnm use XX.XX.X

コメント

タイトルとURLをコピーしました