Node.jsのパッケージマネージャーをVoltaからmiseに変える

記事

当サイトにはプロモーション・広告が含まれています。

Node.jsに脆弱性があるとの情報があったのでアップグレードした。その際に、今まで使っていたNode.jsのパッケージマネージャーをVoltaからmiseに変更した。

Voltaは昨年11月に既にメンテナンスを終了しており、公式でもmiseへの移行を推奨している。

miseのインストール

Windowsでは、標準のwingetでインストールするのが推奨されている。

winget install jdx.mise

しかし、私の環境ではWingetが入っているのになぜか上手くいかなかったので、Scoopでmiseをインストールすることにした。

# Scoopを入れる
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression

# Scoopでインストールする
scoop install mise

Scoopでmiseをインストールすると、自動で環境変数が追加される。但し、Git BashやVS Codeのターミナルを起動した状態で行うと反映されないので、それらのウィンドウを一旦閉じて再起動させる必要がある。

PowerShell プロファイル(起動時に自動実行されるスクリプト)にmise activateを追記する。

# プロファイルがなければ作成
if (-not (Test-Path $PROFILE)) { New-Item -ItemType File -Path $PROFILE -Force }

# activate を追記
Add-Content $PROFILE '(&mise activate pwsh) | Out-String | Invoke-Expression'

PowerShellを再起動して、miseのバージョンと問題がないかを確認する。

mise --version
mise doctor

Node.jsをインストール

グローバルでNode.js(と私の場合はpnpm)をインストール。バージョンを指定したい場合は、指定してインストールする。

mise use -g node@22
mise use -g pnpm@10

Voltaを削除

不要になったVoltaを削除する。

環境変数の削除

Voltaの環境変数が残っていると、Volta側のnodeが見つかり、miseで入れたバージョンが使われない可能性があるので、これらを削除する。

Windows11 「設定」ホーム画面 検索窓

設定のホーム画面から検索窓に「環境変数」と入れると「システム環境変数の編集」が出てくるので選択する。

「システムのプロパティ」と「環境変数」のウィンドウ

「システムのプロパティ」ウィンドウが起動するので、下の「環境変数」ボタンをクリック。

ユーザー環境変数からPATH内のC:\Users\<username>\AppData\Local\Volta\bin VOLTA HOME(あれば)を削除し、システム環境変数からpath内のC:\Program Files\Volta\を削除する。

Voltaのディレクトリを削除

PowerShellで削除

Remove-Item -Recurse -Force $env:LOCALAPPDATA\Volta

反映と確認

Git Bash や PowerShell を開き直してから確認。

which -a node
echo $PATH | tr ':' '\n' | grep -i volta

Voltaを含む行が出てこなければ削除できている。


今年に入ってから、これまで以上にセキュリティの問題が出てきているので、いろいろ手間ではあっても更新は適宜やっておきたい。

参考ページ

☕コーヒーをおごる

Buy Me A Coffee
ブログのプロフィール画像

このブログについて

コーディングやWeb関連技術の記事と、買い物など日々のメモから成り立っています。→少しだけ詳しく

広告