Windowsの環境変数の修復をしてNode.js使えるようにした(nvmの使い方)
何かの拍子に環境変数の保存内容を壊してしまいまして、その結果、Node.jsなどが認識しなくなりました。
長らくWSL2を使った開発をしていたのですが、つい最近WSL2とのお別れを決意しました。つまり、Windowsでの開発に超不慣れです。 ということで、色々忘れるので、ちょっとしたこともメモしていきたいと思います。
まずそもそも、nvm-windowsを使っていることを既に失念しておりました。
https://github.com/coreybutler/nvm-windows — github.com
node -v が効かないのも、 nvm が認識されていないからでした。 環境変数のPATHにnvmのパスが登録されていないからでした。
環境変数はシステムのものと、ユーザ個別のものがありますが、今回はユーザ固有の環境にnvmをインストールしていましたので、下記のように、PowerShellでコマンド実行することで、ユーザ固有の環境変数に、永続的にPATH登録できました。
[System.Environment]::SetEnvironmentVariable("NVM_HOME", "C:\Users\dev\AppData\Roaming\nvm", "User")[System.Environment]::SetEnvironmentVariable("NVM_SYMLINK", "C:\Program Files\nodejs", "User")[System.Environment]::SetEnvironmentVariable("PATH", [System.Environment]::GetEnvironmentVariable("PATH", "User") + ";C:\Users\dev\AppData\Roaming\nvm;C:\Program Files\nodejs", "User")ちなみに、システム環境変数に保存する場合は、下記のようにします。
[System.Environment]::SetEnvironmentVariable("NVM_HOME", "C:\path\to\nvm", "Machine")[System.Environment]::SetEnvironmentVariable("NVM_SYMLINK", "C:\Program Files\nodejs", "Machine")[System.Environment]::SetEnvironmentVariable("PATH", [System.Environment]::GetEnvironmentVariable("PATH", "Machine") + ";C:\path\to\nvm;C:\Program Files\nodejs", "Machine")PowerShellのwhichは?
下記のように Get-Command というのが使えるようです。
> Get-Command nvm
CommandType Name Version Source----------- ---- ------- ------Application nvm.exe 0.0.0.0 C:\Users\dev\AppData\Roaming\nvm\nvm.exenvmの使い方メモ
インストール済みのNode.jsバージョンを確認
> nvm ls利用可能なNode.jsバージョンを確認
> nvm list available最新のLTSバージョンをインストールする場合
> nvm install lts特定のバージョン(例:17.9.1)をインストールする場合:
> nvm install 17.9.1使用するNode.jsバージョンを切り替え
> nvm use 17.9.1現在使用中のNode.jsバージョンを確認
> nvm current