概要
- Node.jsは現代のWeb開発において必須のJavaScriptランタイム環境ですが、プロジェクトごとに異なるバージョンが必要になることがよくあります
- そのため、Node.jsの開発環境を構築するにあたって、
nodebrew
、nvm
のようなバージョン管理ツールを使うことが重要です - この記事では、
nvm
を使ったNode.jsのインストール、検証、バージョン管理、アップデート手順について詳しく紹介します
記事の前提
- この記事は macOS を前提としています
- Windowsの場合は、以下のような別の記事を参考にしてください
用語整理
まずは、基本的な用語を整理します。
用語 | 説明 |
---|---|
Node.js | サーバーサイドでJavaScriptを実行する環境(ランタイム)のこと |
nvm(Node Version Manager) | 複数のNode.jsバージョンを簡単にインストール、切り替え、管理できるコマンドラインツールのこと。複数バージョンのNode.jsをプロジェクトごとに切り替えられる |
npm (Node Package Manager) | Node.jsのパッケージ管理ツールのこと。ライブラリやフレームワークのインストールに使用 |
LTS (Long Term Support) | 長期サポート版という意味。安定性を重視する実運用環境に推奨 |
Stable | 安定版という意味。最新の機能と一定の安定性を兼ね備えたバージョン |
インストール
以下のコマンドを使用してnvm
をインストールします
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
- 注1: 上記のバージョン番号(v0.40.1)は記事執筆時点のものです
- 最新バージョンはnvmの公式リポジトリで確認してください
- 注2: Homebrewでのインストール方法を掲載しているブログもありますが、現在、
Homebrewでのインストールは公式でサポートしていない
のでHomebrewでインストールはしない方が良いです- 以下、https://github.com/nvm-sh/nvm より引用
Homebrew installation is not supported. If you have issues with homebrew-installed nvm, please brew uninstall it, and install it using the instructions below, before filing an issue.
- 以下、https://github.com/nvm-sh/nvm より引用
nvmのインストール検証
次に正常にインストールされているか検証します。
command -v nvm
-
nvm
と表示されたらインストールは成功です - もしここで、
nvm: command not found
と表示されたら、シェルの設定ファイルを再読み込みする必要があります - これは、インストールスクリプトがシェル設定ファイルに環境変数を追加したためです
- 以下のコマンドを実行してから、もう一度
command -v nvm
を実行してください
bashの場合
source ~/.bash_profile
zshの場合
source ~/.zshrc
-
注:
source
コマンドはシェル設定ファイルを現在のシェルセッションに再読み込みするためのコマンドです
Node.jsのインストール
nvmを使ってNode.jsをインストールする方法は以下、2つの選択肢があります
- stable(安定版)
- LTS(長期サポート版)
stableバージョンを使う場合
最新の安定版を使いたい場合は以下のコマンドを実行します。
nvm install stable --latest-npm
nvm alias default stable
-
stable
は、Node.jsの安定したバージョンをインストールするオプションです -
--latest-npm
は、最新版のnpmもインストールするオプションです -
nvm alias default stable
は、安定したバージョンをデフォルトとして設定します- これにより、新しいターミナルを開いた時に自動的にこのバージョンが使用されます
LTS(Long Term Support)バージョンを使う場合
- LTSとは長期間に渡って、安全なメンテナンスリリースが実施されるバージョンです
- 最新機能よりも安定性を重視する場合は、LTSバージョンを使用することをお勧めします
LTSのリリースは以下、6つの修正に限定されています。
- バグ修正
- セキュリティアップデート
- semverのメジャーバージョンに影響しないnpmアップデート
- 関連するドキュメントの更新
- 既存アプリケーションを破壊するリスクが最小限である特定のパフォーマンス改善
- 既存アプリケーションを破壊するリスクが低く、コードの変更量が多い変更(将来の変更を容易にバックポートできるようにするため)
LTSバージョンをインストールするには以下のコマンドを実行します
nvm install --lts --latest-npm
nvm alias default 'lts/*'
-
--lts
は、LTSバージョンの最新をインストールするオプションです -
nvm alias default 'lts/*'
- 最新のLTSバージョンをデフォルトとして設定します
Node.jsのサンプルコード
インストールが正常に完了していることを検証するために、簡単なWebサーバーを作成してみましょう。以下の内容でweb_example.js
というファイルを作成します。
const http = require("http");
http.createServer((request, response) => {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);
このコードは、Node.jsの標準モジュールhttp
を使用して、シンプルなWebサーバーを作成しています。8888ポートでリクエストを待ち受け、アクセスがあると「Hello World」というテキストを返します。
ファイルを保存したら、以下のコマンドで実行します
$ node web_example.js
ブラウザで以下のURLにアクセスしてみてください
http://localhost:8888/
Hello World
と表示されたらNode.jsが正常にインストールできています。
Node.jsのバージョンアップ手順
Node.jsのバージョンをアップデートするには、インストール手順と同様のコマンドを使用します。
nvm install --lts
nvm alias default 'lts/*'
npm自体のバージョンアップも実施します。
nvm install-latest-npm
- 注: 上記コマンドで、現在使用中のNode.jsのバージョンに対応した最新のnpmがインストールされます
一時的に異なるバージョンを使用する場合
動作検証などで一時的に異なるバージョンを使う場合は、use
コマンドを使います。
nvm install stable --latest-npm # まだインストールしていなければインストール
nvm use stable # 一時的にstableバージョンを使用
-
注:
use
コマンドは現在のターミナルセッションのみに適用されます- 新規にターミナルを開くと、デフォルトのバージョンに戻ります
特定のバージョンをインストールする場合
特定のバージョンにしたい場合は、nvm ls-remote
で利用可能なバージョンを確認してから、そのバージョンをインストールします。
nvm ls-remote
...
v22.13.1 (LTS: Jod)
-> v22.14.0 (Latest LTS: Jod)
v23.0.0
v23.1.0
v23.2.0
nvm install v23.2.0
nvm alias default v23.2.0
プロジェクトごとにNode.jsのバージョンを固定する場合
- チームで開発を行う場合など、プロジェクトでNode.jsのバージョンを固定したい場合があります
- そのような場合、
.nvmrc
ファイルを作成してソース管理することで、プロジェクトメンバー全員が同じバージョンを使用できるようになります
以下は、最新のLTSバージョンで固定する例です
echo "lts/*" > .nvmrc
nvm install # 初回のみ実行する(.nvmrcファイルの内容に基づいてインストール)
nvm use # .nvmrcファイルの内容に基づいてバージョンを切り替え
注: プロジェクトディレクトリに.nvmrc
ファイルを配置することで、そのディレクトリでnvm use
コマンドを実行すると、指定したバージョンが自動的に使用されます。
nvm本体のバージョンアップ方法
nvmツール自体をアップデートするには、以下のコマンドを実行します。
(
cd "$NVM_DIR"
git fetch --tags origin
git checkout `git describe --abbrev=0 --tags --match "v[0-9]*" $(git rev-list --tags --max-count=1)`
) && \. "$NVM_DIR/nvm.sh"
実行結果の例
remote: Enumerating objects: 221, done.
remote: Counting objects: 100% (186/186), done.
remote: Compressing objects: 100% (41/41), done.
Unpacking objects: 100% (77/77), 21.88 KiB | 393.00 KiB/s, done.
remote: Total 77 (delta 57), reused 55 (delta 36), pack-reused 0 (from 0)
From https://github.com/nvm-sh/nvm
0641363..759f70f master -> origin/master
HEAD is now at 179d450 v0.40.1
nvmのアンインストール方法
nvmを削除したい場合は、以下の手順を実行してください
- nvmディレクトリを削除します
rm -rf "$NVM_DIR"
- シェル設定ファイルからnvm関連の設定を削除します。
.bash_profile
、.zshrc
、.profile
、または.bashrc
を開き、以下のような行を削除しますexport NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
- シェル設定を再読み込みします
source ~/.zshrc # または使用しているシェルの設定ファイル
トラブルシューティング
nvmやNode.jsの使用中に発生する可能性のある一般的な問題と解決策を紹介します
1. nvm: command not found
エラー
解決策
- シェル設定ファイル(
.zshrc
や.bash_profile
など)に正しくnvmの設定が追加されているか確認 -
source ~/.zshrc
(または該当するシェル設定ファイル)を実行して設定を再読み込み
2. パーミッションエラー
解決策
-
sudo
を使わずにnvmをインストールしてください- nvmは、一般ユーザーの権限で実行するように設計されています
-
.nvm
の権限を確認ls -la ~/.nvm
3. 特定のバージョンのインストールに失敗する
解決策
- インターネット接続を確認
-
nvm ls-remote
で利用可能なバージョンを確認- 正確なバージョン番号を使用しているか確認(例:
v18.9.1
)
- 正確なバージョン番号を使用しているか確認(例:
その他参考となる記事
-
Installing Node.js with NVM
- こちらの記事には、Windowsでのインストール方法も掲載されています
- Expressのサンプルコードも一緒に掲載されているので良い感じです
-
Installing a custom version of NVM and Node.js
-
web_examle.js
はこちらの記事を参考にいたしました
-
チェックリスト
以下のチェックリストを使用して、Node.js環境のセットアップが完了したことを確認してください
-
nvmが正常にインストールされている
-
command -v nvm
で確認
-
-
Node.jsがインストールされている
-
node -v
で確認
-
-
npmが正常に機能している
-
npm -v
で確認
-
-
サンプルコード
-
web_example.js
が正常に動作する
-
-
デフォルトのNode.jsバージョンが設定されている
-
nvm current
で確認
-
-
(任意) プロジェクト用の
.nvmrc_
ファイルが作成されている
[宣伝] GAS入門の教材 - Udemy
- 2023年11月時点で、約3,000人の受講生を獲得し、UdemyBusinessにも選定されてます
- もしGASに興味があれば、以下のバナーからUdemyにて購入ご検討ください