14
7

Node.js のバージョン管理を fnm から Volta に乗り換えました(Windows)

Last updated at Posted at 2023-01-30

Node.js のバージョン管理は fnm (Fast Node Manager) を利用していましたが、

  • シェルセットアップが面倒…:pensive:
  • コマンドプロンプトで利用できない…:confounded:

という不満がありました。

ちなみに、fnm のインストール方法と使い方については以前投稿しました。

そんな中、以下記事と出会い、Volta が良さげ:smirk:

:bulb: Volta のオススメポイント

  • インストールが簡単
  • コマンドプロンプトで利用可能
  • OS に関係なく利用可能
  • Node に加え、パッケージマネージャー(npm, yarn)とグローバルパッケージも管理
  • プロジェクトで利用するツールを package.json で管理
  • プロジェクトごとに自動でバージョン変更

というわけで、乗り換えることにしました!

:fire: fnm のアンインストール

1. Chocolatey で fnm をアンインストール

fnm は Chocolatey でインストールしていたので Chocolatey GUI 、またはコマンドを入力してアンインストールします。

volta_fnm_uninstall.png

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 コマンドが認識されませんでした。

:zap: Volta のインストール

1. 開発者モードを有効にする

公式サイトに以下の記載があります。

注意
Volta の機能はシンボリックリンクの作成に依存しているので、どちらかが必要です。

  • 開発者モードを有効にする(推奨)
  • 昇格した特権で Volta を実行する(非推奨)

というわけで、開発者モードを有効にしておきます。

開発者 で検索し、開く をクリック。

volta_01.png

開発者モードオン に変更。

volta_02.png

警告ウィンドウが表示されたら はい をクリック。

volta_03.png

2. Chocolatey で Volta をインストール

Chocolatey GUI または、コマンドを入力してインストールします。

volta_install.png

choco install volta

3. インストールの確認

正常にインストールできたか確認します。
以下コマンドを実行し、バージョン番号が表示されればインストールは終了です:ok_hand:

volta -v
> 1.1.0

:beginner: 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 で削除できそうですが、できません…:sweat:
以下ファイルを手動で削除するしかないようです。

  • 本体
    %LOCALAPPDATA%\Volta\tools\image\node\{バージョン}
  • キャッシュ
    %LOCALAPPDATA%\Volta\tools\inventory\node\{バージョン}

パッケージマネージャ

volta uninstall npm volta uninstall yarn で削除できそうですが、できません…:sweat:
以下ファイルを手動で削除するしかないようです。

  • 本体
    %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 が作成されていました。
ルートに余計なファイルが作成されないのは嬉しい:smile:

# Node.js のバージョンを固定
volta pin node@18.18.0
package.json
"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
14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7