369
346

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

nvm(Node Version Manager)を使ってNode.jsをインストールする手順

Last updated at Posted at 2017-12-22

概要

  • Node.jsは現代のWeb開発において必須のJavaScriptランタイム環境ですが、プロジェクトごとに異なるバージョンが必要になることがよくあります
  • そのため、Node.jsの開発環境を構築するにあたって、nodebrewnvmのようなバージョン管理ツールを使うことが重要です
  • この記事では、nvm を使ったNode.jsのインストール、検証、バージョン管理、アップデート手順について詳しく紹介します

記事の前提

用語整理

まずは、基本的な用語を整理します。

用語 説明
Node.js サーバーサイドでJavaScriptを実行する環境(ランタイム)のこと
nvm(Node Version Manager) 複数のNode.jsバージョンを簡単にインストール、切り替え、管理できるコマンドラインツールのこと。複数バージョンのNode.jsをプロジェクトごとに切り替えられる
npm (Node Package Manager) Node.jsのパッケージ管理ツールのこと。ライブラリやフレームワークのインストールに使用
LTS (Long Term Support) 長期サポート版という意味。安定性を重視する実運用環境に推奨
Stable 安定版という意味。最新の機能と一定の安定性を兼ね備えたバージョン

インストール

以下のコマンドを使用してnvmをインストールします

curlでのインストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
  • 注1: 上記のバージョン番号(v0.40.1)は記事執筆時点のものです
  • 注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.
      

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つの選択肢があります

  1. stable(安定版)
  2. LTS(長期サポート版)

stableバージョンを使う場合

最新の安定版を使いたい場合は以下のコマンドを実行します。

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つの修正に限定されています。

  1. バグ修正
  2. セキュリティアップデート
  3. semverのメジャーバージョンに影響しないnpmアップデート
  4. 関連するドキュメントの更新
  5. 既存アプリケーションを破壊するリスクが最小限である特定のパフォーマンス改善
  6. 既存アプリケーションを破壊するリスクが低く、コードの変更量が多い変更(将来の変更を容易にバックポートできるようにするため)

LTSバージョンをインストールするには以下のコマンドを実行します

LTSバージョン
nvm install --lts --latest-npm
nvm alias default 'lts/*'
  • --lts は、LTSバージョンの最新をインストールするオプションです
    • LTSなどのリリース計画について詳しく知りたい方はこちらを参考にしてください
    • リリーススケジュールを知りたい方はこちらを参考にしてください
  • nvm alias default 'lts/*'
    • 最新のLTSバージョンをデフォルトとして設定します

Node.jsのサンプルコード

インストールが正常に完了していることを検証するために、簡単なWebサーバーを作成してみましょう。以下の内容でweb_example.jsというファイルを作成します。

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のバージョンをアップデートするには、インストール手順と同様のコマンドを使用します。

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
例:v23.2.0に変更する場合
nvm install v23.2.0
nvm alias default v23.2.0

プロジェクトごとにNode.jsのバージョンを固定する場合

  • チームで開発を行う場合など、プロジェクトでNode.jsのバージョンを固定したい場合があります
  • そのような場合、.nvmrc ファイルを作成してソース管理することで、プロジェクトメンバー全員が同じバージョンを使用できるようになります

以下は、最新のLTSバージョンで固定する例です

最新の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を削除したい場合は、以下の手順を実行してください

  1. nvmディレクトリを削除します
    rm -rf "$NVM_DIR"
    
  2. シェル設定ファイルから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"
    
  3. シェル設定を再読み込みします
    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

その他参考となる記事

チェックリスト

以下のチェックリストを使用して、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にて購入ご検討ください

369
346
4

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
369
346

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?