■ 主の PC環境一覧
OS:Windows11(WSL2:Ubuntu 22.04.4 LTS)
ブラウザ:Chrome
nvm:v18.16.0
npm:v9.5.1
■ 初めに
本記事では、Node.jsバージョン管理ツールとして nvm (node version manager) を使用します。
また、nvm以外にもたくさんバージョン管理ツールがあるので、気になる方は確認してご自身に合うツールを試してみてください。
ツール | 対応OS | 説明 |
---|---|---|
nvm (node version manager) | Linux, macOS, Windows | ・特徴:シンプルなインストールとセットアッププロセス、複数の Node.jsバージョンの簡単な切り替え、LTS版へのサポート、npmや yarnとの互換性。 ・利点:複数のプラットフォーム(Linux、macOS、Windows)での使用可能性、プロジェクト固有のバージョン管理。 |
nvs (node version switcher) | Linux, macOS, Windows | ・詳細:複数のNode.jsバージョンをインストールし、それらを簡単に切り替えることができるツール。 |
fnm (fast node manager) | Linux, macOS, Windows | ・特徴:Rustで書かれたクロスプラットフォームの Node.jsバージョン管理ツール。 nvmよりも高速に動作し、Windowsと Fishシェルのサポートも含まれる。 ・利点:高速なパフォーマンス、広範なユーザーに対する対応性。 |
volta | Linux, macOS, Windows | ・特徴: プロジェクトとその依存関係を管理するアプローチを取る新しい Node.jsバージョン管理ツール。 package.jsonファイルから必要な Node.jsバージョンを自動的に検出し、インストールする。 ・利点:他のツール(Yarn、Rustなど)の管理にも対応、プロジェクト固有のバージョン管理、グローバルシムを使用したバージョンの切り替え。 |
n | Linux, macOS | ・特徴:シンプルさと使いやすさで知られる Node.jsバージョン管理ツール。CUIを通じて複数の Node.jsバージョンのインストール、管理、切り替えが可能。 ・利点:開発者からの好評度が高く、多くの開発者にとって望ましい選択肢となっている。 |
nodenv | Linux, macOS | ・詳細:Rubyの rbenvにインスパイアされた Node.jsバージョン管理ツール。 |
nodist | Windows | ・特徴:Windows専用の Node.jsバージョン管理ツール。 nvmや nと同様の機能を提供し、Windowsマシン上で複数の Node.jsバージョンをインストール・管理できるようにする。 ・利点:Windowsベースの開発者にとって魅力的なオプションとなり、npmやグローバルパッケージのインストールに対応している。 |
nvm-windows | Windows | ・詳細:nvmの Windows向けバリエーション。 nvmの機能を Windows環境で利用できるようにするためのツールです。 |
nvmw | Windows | ・詳細:nvmのWindows向けバージョン。 バッチスクリプトを使用してNode.jsのバージョンを管理する。 |
[1]Linux環境で実行する必要なコマンド確認(インストール)
# アップデート、アップグレード
$ sudo apt update && sudo apt upgrade
[1.1]curlコマンドをインストール
curlコマンドとは?
curlコマンドは、クライアントからサーバーへリクエストを送り、データを転送するツールです。
主に $ curl [オプション] [URL]
のように使用します。
具体的な使用例を以下に示します。
- Webページの HTMLコンテンツを取得
- APIに対して HTTPリクエストを送信し、データの取得や更新、削除を行う
- ファイルのアップロードやダウンロード
- HTTPヘッダー情報の取得
- Basic認証や Digest認証、トークン認証などの様々な認証方法に対応したリクエストの送信
- 定期的に Webサイトや APIにリクエストを送信し、ステータスコードや応答時間を監視
- URLがリダイレクトされる場合、リダイレクト先の URLや遷移を調査
- プロキシサーバーを経由してリクエストを送信
# curlコマンド存在確認
$ command -v curl
# 存在しない場合インストール
$ sudo apt install curl
[2]Node.jsをインストール
# nvmインストール ※ 執筆時点での nvm最新バージョン(v0.39.7)
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# nvmコマンド存在確認
$ command -v nvm
# Node.jsインストール(最新の LTSバージョン)
$ nvm install --lts
[3]インストールした Node.jsのバージョンを設定
[3.1].nvmrcファイルを使用する場合
# プロジェクトで使用する nodeバージョンを指定(touchコマンドで .nmvrcファイルを作成)
$ echo v18.16.0 >> .nvmrc
# プロジェクト配下の nodeバージョンを設定
$ nvm use
[3.2]コマンドのみで管理する場合
# プロジェクト配下の nodeバージョンを設定
$ nvm use v18.16.0
■ 最後に
これにより、プロジェクトごとに必要なバージョンの Node.jsを自由に選択できます。
開発者としては、これが非常に便利なツールとなります。
nvmを活用することで、効率的に異なるバージョンの Node.jsを試すことができ、新しい機能や改善点を見つけ出すのに役立ちます。
また、古いプロジェクトでも最新の Node.jsを安全にアップグレードすることが可能になります。
この記事を読んだ後、nvmを使ったバージョン管理の基本から始めてみてください。
それぞれのプロジェクトで最適な環境を構築し、より効率的な開発体験を追求しましょう。
□ おまけ
インストール可能な Node.jsのバージョンを表示
$ nvm ls-remote
---
# LTSのみ表示
$ nvm ls-remote --lts
インストール済みの Node.jsのバージョンを一覧表示
$ nvm list
デフォルト Node.jsのバージョンを設定
$ nvm alias defualt [version]
指定したバージョンの Node.jsをアンインストール
$ nvm uninstall [version]
現在使用中の Node.jsのバージョンを確認
$ nvm current
ディレクトリ内の Node.jsのバージョン切り替え
# .nvmrcファイルで設定したバージョンを適応する場合
プロジェクトのディレクトリ内で「$ nvm use」と打つと階層を上にたどって
.nvmrcファイルを見つけ出し、そのバージョンに切り替えてくれる。
$ cd <project dir>
$ nvm use
Found '/home/xxxxx/.nvmrc' with version <v20.14.0>
Now using node v20.14.0 (npm v10.7.0)
# .nvmrcファイルに記載されたバージョンがインストールされていない場合
以下のようなエラーメッセージが出力され、自動的にインストールされる
N/A: version "16.3.0 -> N/A" is not yet installed.
You need to run "nvm install 16.3.0" to install it before using it.
Downloading and installing node v16.3.0...
Now using node v16.3.0 (npm v7.15.1)
---
# 最新の LTSバージョンへ切り替え
$ nvm use --lts
# 最新バージョンへ切り替え
$ nvm use node
# 指定バージョンへ切り替え
$ nvm use [version]
以上。
comment 📝