Rust製の高速ツールチェーンマネージャー Volta を使ってNode.jsを管理していると、複数のバージョンが溜まっていくことがあります。
しかし、Voltaには現時点(2025年10月時点)で volta uninstall node@xx コマンドが未対応という制限があります。
この記事では、Windows環境でVoltaを使っている場合に、古いNode.jsバージョンを安全に削除する方法を紹介します。
Voltaでは、npmやyarnなどのツールはvolta uninstallで削除できますが、Node.js本体は対象外です。
実際に試すと以下のようなエラーになります:
volta uninstall node@22.16.0
error: Uninstalling node is not supported yet.
したがって、Node.jsを削除するには手動で該当フォルダを削除する必要があります。
Voltaが管理しているNode.jsの実体は、次のパスに格納されています:
%LOCALAPPDATA%\Volta\tools\image\node\
例:
C:\Users\ユーザー名\AppData\Local\Volta\tools\image\node\22.16.0\
このディレクトリ内に、バージョンごとのNode.jsが保存されています。
まず、現在使用中(default)のNode.jsを確認します。
volta list node
出力例:
⚡️ Node runtimes in your toolchain:
v20.11.1
v22.16.0 (default)
(default) が付いているバージョンは現在使用中なので、削除しないように注意してください。
下記スクリプトをPowerShellに貼り付けて実行するだけで、指定したNodeバージョンを安全に削除できます。
$target = "22.16.0" # 先頭の v は付けない
$dir = Join-Path $env:LOCALAPPDATA "Volta\tools\image\node\$target"
# 念のため default かどうかチェック
$default = (volta list node | Select-String '\(default\)').ToString() -match 'v(\d+\.\d+\.\d+)' | Out-Null; $matches = $Matches
if ($matches) { $defaultVer = $matches[1] }
if ($defaultVer -eq $target) {
Write-Host "このバージョンは default なので削除できません。別のバージョンを default に設定してください。"
} elseif (Test-Path $dir) {
Write-Host "Removing $dir"
Remove-Item -Recurse -Force $dir
Write-Host "Done. 再確認 → volta list node"
} else {
Write-Host "フォルダが見つかりません: $dir"
}
上記を実行すると、指定したフォルダ(例:22.16.0)が安全に削除されます。
もし削除したいNodeが現在のdefaultに設定されている場合は、まず別のバージョンをdefaultに変更します。
volta install node@latest
volta set node@22.9.0
その後、古いバージョンを削除すればOKです。
| 目的 | コマンド / 手順 |
|---|---|
| 現在のNode一覧を確認 | volta list node |
| defaultのNodeを変更 | volta set node@22.9.0 |
| Node実体フォルダの場所 | %LOCALAPPDATA%\Volta\tools\image\node\ |
| 特定バージョンを削除 | 上記PowerShellスクリプトを実行 |
これで、Windows上のVolta環境でも不要なNode.jsバージョンを安全にクリーンアップできます。
volta pin node@xx を設定しておくと、意図しないバージョン変更を防げます。volta list node を実行して、古いバージョンをチェックしましょう。この記事では、Windows + Volta環境で古いNode.jsバージョンを削除する手順を紹介しました。 Voltaは便利なツールですが、まだNodeアンインストール機能が実装されていないため、 手動スクリプトによる削除が現時点で最も安全な方法です。
.htaccessは階層で引き継がれる?Apacheの挙動を徹底解説
SEO対策に必須!検索上位を狙うsitemap.xmlの完全ガイド
Google Search Consoleの「代替ページ(適切なcanonicalタグあり)」とは?原因と解決法を徹底解説!
Microsoft純正の新しいコンソールエディタ「edit」が復活!| edit.exe インストール方法
Googleサイト確認のTXTレコードをnslookupで確認する方法【SEO対策】
Googleサーチコンソールに反映されるための最低限のSEO構造とは
【Anker Soundcore Liberty 4】イヤーピース紛失!代替品はAmazonで購入
JavaScriptでタイムゾーン変換!UTCとJST(日本時間)の変換方法
git switchの使い方とgit checkoutとの違い
HTMLとJavaScriptモジュールでクラスを定義し、ボタンから呼び出す方法
JavaScriptでTensorFlow.jsを動的に読み込む方法|HTMLに直接書かずに機械学習を実行する
ffmpegでMOVファイルを逆再生する方法【音声付き対応】
Windows 11でタスクマネージャー以外からアプリを終了させる方法【PowerShell・コマンドプロンプト】
JavaScriptでPCの空き容量やメモリ量を取得できる?Chromeの制限と代替手法
PowerShellでNode.jsの最新バージョン一覧を確認する方法【Volta/Windows対応】
PowerShellでNode.jsの最新バージョン一覧を確認する方法【Volta/Windows対応】
Windows + Voltaで古いNode.jsバージョンを削除する方法
Next.jsでbasePathを/homepage2にしてS3へ静的デプロイする完全手順