1
Help us understand the problem. What are the problem?

posted at

updated at

Organization

Nodeバージョン管理ツールをNodistからVoltaに移行してみた

今までNodeのバージョン管理ツールにはNodistを使っていたのですが、Nodistは2019年以降更新が無い状態です。

また、2020年12月に新しい管理ツールであるVoltaがリリースされました。

そこで、この記事ではNodeバージョン管理ツールをNodistからVoltaへ移行する手順と、Voltaの主要な機能をご紹介します。

はじめに

  • この記事では、Windows 10での動作を前提としています。
  • この記事で記載されている手順およびバージョンは2022年1月時点のものです。

NodistからVoltaへの移行

Nodistのアンインストール

Voltaのインストールの前に、Nodistをアンインストールします。感謝!

Nodistをアンインストールするには単純にプログラムのアンインストールをするだけでは足りず、一部フォルダや環境変数も削除する必要があります。

  1. 「プログラムと機能」からNodistをアンインストール

  2. いくつか残っているNodist関連フォルダやファイルを削除

    残っているフォルダやファイルが悪さしないよう、Shift + Deleteで完全削除してしまったほうが無難です。

    ※以下のパスはNodistをデフォルトでインストールした際のものです。

    1. Nodist
      C:\Program Files (x86)\Nodist
      
    2. npm-cache
      C:\Users\(Username)\AppData\Roaming\npm-cache
      
    3. .npmrc
      C:\Users\(Username)\.npmrc
      
  3. 環境変数を削除

    1. ユーザー環境変数「Path」およびシステム環境変数にNodeやNodistのパスがあれば削除

      ※Path等の環境変数自体の削除は行わないでください。

  4. アンインストールの最終確認

    下記のようなNodistやnodeのコマンドを実行し、コマンドが存在しないエラーが表示されるか確認します。

    > nodist
    
    > node -v
    

Voltaのインストール

  1. インストーラーのダウンロード

    Volta公式の下記のページから「download and run the Windows installer」のリンクからインストーラーをダウンロードします。

    https://docs.volta.sh/guide/getting-started
    1.png

  2. インストーラーを起動して、Voltaをインストール

  3. 開発者モードの有効化

    上記のVolta公式ページでも記載されているように、VoltaをWindowsで動作させる場合は「開発者モード」を有効化することを推奨しています。

    開発者モードを有効化するにはWindowsの「開発者向け設定」から行います。
    2.png

  4. Voltaインストール完了の確認

    下記のコマンドを実行し、Voltaがインストールされているか確認します。

    バージョンが表示されれば成功です。

    > volta -v
    1.0.5
    

Nodeインストール、バージョン切り替え

下記のコマンドを実行すると、Nodeがインストールされます。デフォルトでは最新の安定版がインストールされるようです。

> volta install node
success: installed and set node@16.13.2 (with npm@8.1.2) as default

参考:https://docs.volta.sh/reference/install

Nodeやnpmのバージョンを確認すると、該当バージョンがインストールされていることがわかります。

> node -v
v16.13.2

> npm -v
8.1.2

また、バージョンを指定したい場合は、volta install node@{バージョン}と実行します。

> volta install node@14.15.4
success: installed and set node@14.15.4 (with npm@6.14.10) as default

また、既に該当バージョンのNodeがインストール済みであっても、バージョンの切り替えはinstall nodeで行います。

Nodistではnodist add vx.x.xnodist vx.x.xといったコマンドがVoltaではinstall nodeで完結するということです。

ここでポイントとなるのが、nodeのバージョンを切り替えると自動的にnpmのバージョンも変わってくれる点です。

Nodistの時はNodeを切り替えるたびにnpm matchを行う必要がありましたが、Voltaの場合はinstall nodeだけでnpmのバージョンごと切り替わってくれるのでとても楽です。

インストール済みのNodeバージョン確認

現在インストール済みのNodeの一覧を確認するにはvolta list nodeコマンドを実行します。

Nodistでいうところのnodistコマンド相当の機能がこちらになります。

> volta list node
⚡️ Node runtimes in your toolchain:

    v12.13.1
    v14.15.4 (default)
    v16.13.1
    v16.13.2
【補足】npmライブラリのグローバルインストール

前述のNodistのアンインストールでnpm cache等も完全に削除したため、npmからグローバルインストールしたライブラリはVoltaおよびNodeのインストール後に再インストールする必要があります。

プロジェクトのNodeバージョン固定

ここで、Voltaの強力な機能を1つご紹介します。

VoltaではプロジェクトのNodeやnpmバージョンを固定させることができます。

参考:https://docs.volta.sh/guide/understanding#managing-your-project

固定化のやり方は簡単で、プロジェクト直下でvolta pinコマンドを実行するだけです。

現在v16.13.2をインストールしている状態でプロジェクトのパスに移動し、v14.15.4のバージョンを指定してみます。

> node -v
v16.13.2

> npm -v
8.1.2

> cd (プロジェクトフォルダ)

(プロジェクトフォルダ)> volta pin node@14.15.4
success: pinned node@14.15.4 (with npm@6.14.10) in package.json

実行後、プロジェクトのpackage.jsonにこのような設定が追記されていることが確認できます。

  "volta": {
    "node": "14.15.4"
  }

ここで、プロジェクト直下でNodeとnpmのバージョンを確認すると、対応するバージョンとなっていることが確認できます。

(プロジェクトフォルダ)> node -v
v14.15.4

(プロジェクトフォルダ)> npm -v
6.14.10

このプロジェクトフォルダから離脱すると、現在のNodeバージョンに自動で戻っていることが確認できます。

(プロジェクトフォルダ)> cd ..

> node -v
v16.13.2

> npm -v
8.1.2

このvolta pinを行うことで、VoltaさえインストールしていればNodeやnpmのバージョンがプロジェクトに対応したものに自動的に切り替わってくれます

まとめ

この記事ではNodistからVoltaへの移行手順と、Voltaの主要な機能をご紹介しました。

実際に私もプロジェクトごとに異なるNodeバージョンを利用しており、今までは作業するプロジェクトを変えるたびにNodeやnpmのバージョンを切り替える必要があったのですが、Voltaに移行したことでその手間が一気に楽になりました。

そのためVoltaは大人数で開発しているプロジェクトや、複数プロジェクトを掛け持ちしている場合、特に効果的に活用できるツールとなると思います!

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
1
Help us understand the problem. What are the problem?