Node.js のバージョン管理は fnm (Fast Node Manager) を利用していましたが、
- シェルセットアップが面倒…
- コマンドプロンプトで利用できない…
という不満がありました。
ちなみに、fnm のインストール方法と使い方については以前投稿しました。
そんな中、以下記事と出会い、Volta が良さげ
Volta のオススメポイント
- インストールが簡単
- コマンドプロンプトで利用可能
- OS に関係なく利用可能
- Node に加え、パッケージマネージャー(npm, yarn)とグローバルパッケージも管理
- プロジェクトで利用するツールを
package.json
で管理 - プロジェクトごとに自動でバージョン変更
というわけで、乗り換えることにしました!
fnm のアンインストール
1. Chocolatey で fnm をアンインストール
fnm は Chocolatey でインストールしていたので Chocolatey GUI 、またはコマンドを入力してアンインストールします。
choco uninstall fnm
2. PowerShell 設定ファイルの削除
fnm を PowerShell で利用するために必要だったプロファイルファイル、Microsoft.PowerShell_profile.ps1
を削除します。
ファイルの場所は以下となります。
- Windows PowerShell
C:\Users\[ユーザー名]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- PowerShell
C:\Users\[ユーザー名]\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
3. fnm ファイルの削除
fnm で利用していたファイルが以下に格納されているので、削除します。
C:\Users\[ユーザー名]\AppData\Roaming\fnm
4. Windows の再起動
Windows を再起動します。
再起動しないと、PowerShell で Volta コマンドが認識されませんでした。
Volta のインストール
1. 開発者モードを有効にする
公式サイトに以下の記載があります。
注意
Volta の機能はシンボリックリンクの作成に依存しているので、どちらかが必要です。
- 開発者モードを有効にする(推奨)
- 昇格した特権で Volta を実行する(非推奨)
というわけで、開発者モードを有効にしておきます。
開発者
で検索し、開く
をクリック。
開発者モード
を オン
に変更。
警告ウィンドウが表示されたら はい
をクリック。
2. Chocolatey で Volta をインストール
Chocolatey GUI または、コマンドを入力してインストールします。
choco install volta
3. インストールの確認
正常にインストールできたか確認します。
以下コマンドを実行し、バージョン番号が表示されればインストールは終了です
volta -v
> 1.1.0
Volta の使い方
よく利用しそうなコマンドを紹介します。
コマンドリファレンス
volta
インストール
Node.js
# 安定版
volta install node
# 最新版
volta install node@latest
# バージョン指定
volta install node@{version}
パッケージマネージャ
# 最新版
volta install npm
volta install yarn
# バージョン指定
volta install npm@{version}
volta install yarn@{version}
グローバルパッケージ
# 最新版
volta install {package}
# バージョン指定
volta install {package}@{version}
グローバルバッケージはバージョン管理されず、最後にインストールしたバージョンが適用されます。
アンインストール
Node.js
volta uninstall node
で削除できそうですが、できません…
以下ファイルを手動で削除するしかないようです。
- 本体
%LOCALAPPDATA%\Volta\tools\image\node\{バージョン}
- キャッシュ
%LOCALAPPDATA%\Volta\tools\inventory\node\{バージョン}
パッケージマネージャ
volta uninstall npm
volta uninstall yarn
で削除できそうですが、できません…
以下ファイルを手動で削除するしかないようです。
- 本体
%LOCALAPPDATA%\Volta\tools\image\npm\{バージョン}
%LOCALAPPDATA%\Volta\tools\image\yarn\{バージョン}
- キャッシュ
%LOCALAPPDATA%\Volta\tools\inventory\npm\{バージョン}
%LOCALAPPDATA%\Volta\tools\inventory\yarn\{バージョン}
グローバルパッケージ
グローバルパッケージは以下コマンドで削除できます。
volta uninstall {package}
プロジェクトでバージョンを固定する
以下コマンドを入力すると package.json
に Volta の設定情報が追加されます。
fnm の場合は .node-version
が作成されていました。
ルートに余計なファイルが作成されないのは嬉しい
# Node.js のバージョンを固定
volta pin node@18.18.0
"volta": {
"node": "18.18.0"
}
npm は固定した Node のバージョンに合わせて、ローカルに自動的にインストールされるようです。
npm のバージョン固定は必要ないと思います。
バージョンを確認する
使用中のバージョン
# 現在使用しているツールのバージョンを表示する
volta list
# 現在使用している Node.js のバージョンを表示する
volta list node -c
# 現在使用している npm のバージョンを表示する
volta list npm -c
# 現在使用している yarn のバージョンを表示する
volta list yarn -c
インストールしているバージョン
# インストールしているツールのバージョンを表示する
volta list all
# インストールしている Node.js のバージョンを表示する
volta list node
# インストールしている npm のバージョンを表示する
volta list npm
# インストールしている yarn のバージョンを表示する
volta list yarn