Node.js 入門:開発環境構築のためのインストール手順を徹底解説
1. はじめに:Node.jsの世界へようこそ!
プログラミングの世界へようこそ!そして、数ある技術の中からNode.jsに興味を持っていただき、ありがとうございます。Node.jsは、JavaScriptというWebブラウザで主に使われてきた言語を、サーバーサイドやコマンドラインツール開発など、様々な領域で使えるようにする革新的なプラットフォームです。
Node.jsとは?
Node.jsは、Google ChromeのJavaScriptエンジンであるV8エンジンを基盤として構築されています。これにより、非常に高速なJavaScriptの実行が可能になっています。特筆すべきはその非同期I/Oとイベント駆動アーキテクチャです。これにより、Webサーバーが多くの同時接続を効率的に処理できるようになり、高いパフォーマンスを発揮します。PythonやRubyなどの伝統的なサーバーサイド言語と比較して、より少ないリソースで多くのリクエストを捌ける可能性があるため、リアルタイムアプリケーションや高負荷なAPI開発などによく利用されます。
また、Node.jsを学ぶ最大のメリットの一つは、「JavaScriptのフルスタック開発」が可能になることです。Webサイトの見た目を制御するフロントエンド(ブラウザ側)の開発でJavaScriptを使っている方が、同じ言語を使ってサーバーサイド(バックエンド)の開発にも挑戦できます。これにより、学習コストを抑えつつ、より幅広い開発スキルを習得できます。
さらに、Node.jsは非常に巨大で活発なコミュニティを持っています。このコミュニティによって支えられているのが、npm (Node Package Manager) と呼ばれるパッケージ管理システムです。npmには、世界中の開発者が作成した膨大な数のライブラリやツールが登録されており、これらを簡単に自分のプロジェクトに組み込むことができます。これにより、ゼロからコードを書く必要がなくなり、開発効率が飛躍的に向上します。WebフレームワークのExpress.jsやKoa、フロントエンド開発で必須のReact、Vue、Angularといったライブラリのビルドツール、データベース接続ライブラリなど、Node.jsエコシステムにはあなたの開発を助けるあらゆるものが揃っています。
この記事の目的
Node.jsを使った開発を始めるためには、まずお使いのコンピュータにNode.jsとその付属ツールを正しくインストールし、開発環境を構築する必要があります。しかし、初めての方にとって、この「環境構築」のステップはしばしば最初のハードルとなりがちです。
この記事では、Node.jsのインストールに焦点を当て、皆さんがつまずくことなくスムーズに開発を開始できるよう、各ステップを非常に詳細かつ丁寧に解説します。単にコマンドやボタンの場所を説明するだけでなく、「なぜこのステップが必要なのか」「このオプションは何を意味するのか」といった背景知識も提供することで、より深く理解しながら進められるように努めます。
対象読者
- プログラミング学習を始めたばかりで、Node.jsに挑戦したい方
- JavaScriptは知っているが、サーバーサイド開発は初めての方
- 以前Node.jsのインストールに挑戦したが、うまくいかなかった方
- Windows, macOS, LinuxのいずれかのOSを使っている方
この記事を読み終える頃には、お使いのコンピュータにNode.jsの実行環境が整い、最初のNode.jsプログラムを書く準備ができているはずです。さあ、一緒にNode.js開発の第一歩を踏み出しましょう!
2. Node.jsのインストール方法の選択肢
Node.jsをコンピュータにインストールする方法はいくつかあります。それぞれの方法にはメリットとデメリットがあり、お使いのOSや開発の目的によって最適な方法が異なります。ここでは主要な方法をいくつか紹介し、この記事で主に解説する方法を決定します。
2.1. 公式サイトからのインストーラー
最も一般的で手軽な方法です。Node.jsの公式サイト(nodejs.org)から、お使いのOSに合わせたインストーラー(.msi for Windows, .pkg for macOS)をダウンロードして実行します。
- メリット:
- 非常に簡単で、特別な知識が不要です。
- 初心者にとって最も分かりやすい方法です。
- Node.jsだけでなく、関連ツール(後述するnpmなど)も一緒にインストールされます。
- デメリット:
- 複数のNode.jsバージョンを切り替えて使いたい場合には向いていません。基本的にはシステム全体に一つのバージョンがインストールされます。
- 新しいバージョンがリリースされた際に、手動で再ダウンロード・インストールが必要です。
2.2. パッケージマネージャー
各OSには、ソフトウェアのインストールや管理を簡単に行うための「パッケージマネージャー」が存在します。WindowsではWingetやChocolatey、macOSではHomebrew、Linuxではapt (Debian/Ubuntu), yum/dnf (Fedora/CentOS/RHEL) などが代表的です。これらのパッケージマネージャーを使ってNode.jsをインストールすることも可能です。
- メリット:
- コマンド一つでインストールできるため、慣れている人には効率的です。
- 他のソフトウェアと一緒に一元的に管理できます。
- アップデートもコマンド一つで可能です。
- デメリット:
- パッケージマネージャー自体のインストールや使い方を学ぶ必要があります。
- 提供されているNode.jsのバージョンが公式サイトよりも若干古い場合があります。
- 公式サイトのインストーラーと同様、複数のバージョンを容易に管理するには向きません。
2.3. バージョンマネージャー
Node.js開発を本格的に行うようになると、複数のプロジェクトで異なるバージョンのNode.jsを使う必要が出てくることがよくあります(例えば、古いプロジェクトはNode.js v14で動作確認されているが、新しいプロジェクトでは最新のv20を使いたい、といったケース)。このような場合に非常に役立つのが「バージョンマネージャー」です。代表的なものに nvm (Node Version Manager), Volta, asdf などがあります。
- メリット:
- 複数のNode.jsバージョンを同時にインストールし、簡単に切り替えられます。
- プロジェクトごとに使用するNode.jsバージョンを自動的に設定できます(一部ツール)。
- Node.jsだけでなく、npmなどのツールも適切なバージョンで管理できます。
- デメリット:
- インストーラーやパッケージマネージャーに比べて、初期設定がやや複雑になる場合があります。
- OSによってはインストール方法や互換性に注意が必要です。
この記事で解説するインストール方法
この記事では、Node.jsを初めて学ぶ方を主な対象としているため、公式サイトからのインストーラーを使った方法を各OSごとに最も詳しく解説します。これは最も簡単で、すぐに開発を始められるためです。
加えて、Node.js開発においてはバージョンマネージャーが非常に有用であるため、多くの開発者に利用されているnvm (Node Version Manager) の導入方法についても詳しく解説します。最初はインストーラーで始めてみて、複数のバージョンが必要になった際にnvmに移行する、というステップもおすすめです。
パッケージマネージャーを使った方法は、各OSのセクションで補足として簡単に触れます。
3. インストール前の準備
Node.jsのインストールを開始する前に、いくつか確認しておきたいことがあります。
3.1. システム要件の確認
ほとんどのモダンなコンピュータであれば問題なくNode.jsをインストール・実行できますが、念のためお使いのOSのバージョンやCPUアーキテクチャ(32bitか64bitか)を確認しておきましょう。Node.jsの公式サイトで提供されているインストーラーは、主要なOSの最新バージョンおよび過去数バージョン、そして一般的なアーキテクチャ(x64など)に対応しています。特に古いOSをお使いの場合は、サポートされているバージョンか確認が必要です。Node.jsの各バージョンがサポートするOSは、公式ドキュメントで確認できます。
3.2. 既存のNode.js環境の確認(もしあれば)
もし以前にNode.jsをインストールしたことがある場合、古いバージョンが残っているかもしれません。これを放置すると、意図しないバージョンのNode.jsが使われてしまうなどの問題が発生する可能性があります。
コマンドプロンプト(Windows)またはターミナル(macOS, Linux)を開き、以下のコマンドを実行してみてください。
bash
node -v
npm -v
もしNode.jsがインストールされていれば、バージョン番号が表示されます(例: v20.10.0
)。command not found
のようなエラーが表示された場合は、Node.jsはインストールされていません。
古いバージョンを完全に削除する必要があるかどうかは状況によりますが、特に初めてインストールする場合は、クリーンな状態から始めるのが望ましいです。しかし、この記事の対象読者はNode.js未経験者と想定しているため、ここでは既存環境の削除手順は割愛し、新規インストールに焦点を当てます。もし既存環境が原因で問題が発生した場合は、記事後半のトラブルシューティングセクションや、Node.jsの公式ドキュメントにあるアンインストール手順をご参照ください。
3.3. 必要なツールの確認
Node.jsを使ってコードを書くためには、以下のツールが必要です。
- コマンドプロンプト / ターミナル: コマンドを実行するために必須です。Windowsなら「コマンドプロンプト」または「PowerShell」、macOSなら「ターミナル」、Linuxなら「ターミナルエミュレーター」(UbuntuならTerminal, CentOSならGNOME Terminalなど)を使用します。これらのツールはOSに標準で付属しています。
- テキストエディタ: JavaScriptコードを書くためのツールです。シンプルなものから高機能なものまで様々な選択肢があります。初心者には、無料で高機能、多くのプログラマーに利用されている VS Code (Visual Studio Code) がおすすめです。他にもAtom, Sublime Text, Vim, Emacsなどがあります。お好みのものを選んでください。
これらのツールが準備できていれば、インストールの準備は完了です。
4. Windowsでのインストール手順(公式サイトインストーラー)
WindowsにNode.jsをインストールする手順を詳しく解説します。
4.1. Node.js公式サイトへのアクセス
お使いのWebブラウザを開き、Node.jsの公式サイトにアクセスします。
https://nodejs.org/
サイトを開くと、トップページにNode.jsのダウンロードボタンが表示されているはずです。通常、2つのバージョンが推奨されています。
- LTS (Long Term Support): 長期サポート版です。安定しており、企業のプロダクション環境などでも広く利用されています。特別な理由がなければ、初心者の方はこちらのLTS版を選ぶことを強く推奨します。セキュリティアップデートやバグ修正が長期間提供されます。
- Current: 最新版です。最新の機能が含まれていますが、まだ開発途中の機能や変更が含まれる可能性があります。新しい機能を試したい開発者向けです。
この記事では、安定性を重視し、LTS版のインストールを前提に説明を進めます。トップページに表示されている「推奨版」または「LTS」と書かれたボタンをクリックして、Windows用のインストーラー(.msi
ファイル)をダウンロードしてください。お使いのWindowsが64bit版であれば「64-bit (x64)」、32bit版であれば「32-bit (x86)」を選びます。現在主流のPCはほぼ64bit版ですが、念のため確認しておくと良いでしょう(Windowsの設定 -> システム -> バージョン情報などで確認できます)。
4.2. インストーラーの実行
ダウンロードした .msi
ファイルをダブルクリックして実行します。セキュリティの警告が表示される場合は、「実行」または「許可」を選択してください。
インストーラーが起動します。画面の指示に従って進めていきます。
- Welcome to the Node.js Setup Wizard: インストールウィザードへようこそ、という画面です。「Next >」をクリックします。
- End-User License Agreement (EULA): ライセンス同意画面です。内容を確認し、同意できる場合は「I accept the terms in the License Agreement」(ライセンス契約の条項に同意します)にチェックを入れ、「Next >」をクリックします。同意しないとインストールは続けられません。
- Destination Folder: インストール先のフォルダを選択します。特別な理由がなければ、表示されているデフォルトのパス(通常
C:\Program Files\nodejs\
)のままで問題ありません。もし変更したい場合は「Change…」ボタンをクリックして新しい場所を指定します。十分なディスク空き容量があることを確認し、「Next >」をクリックします。 -
Custom Setup: ここで、インストールする機能を選択できます。通常はすべての機能が選択された状態(Recommended)になっています。以下の項目が含まれていることを確認してください。
Node.js Runtime
: Node.js本体です。これは必須です。NPM package manager
: npm(Node Package Manager)です。Node.jsと一緒にほぼ必須で使用されるツールなので、これも選択されていることを確認します。Online documentation shortcuts
: Node.jsのオンラインドキュメントへのショートカットです。インストールしても容量はわずかです。Add to PATH
: これが非常に重要です。 Node.jsやnpmのコマンドを、コマンドプロンプトのどこからでも実行できるようにするために、「環境変数PATH」にNode.jsのインストール先ディレクトリを追加する設定です。通常はデフォルトで選択されていますが、念のためチェックが入っていることを確認してください。PATHについては後ほど詳しく説明します。
すべての項目がデフォルトで選択されていることを確認したら、「Next >」をクリックします。
-
Tools for Native Modules: この画面が表示されることがあります。Node.jsのパッケージ(ライブラリ)の中には、C++などのネイティブコードを含んでおり、それらをインストールする際にコンパイラなどのツールが必要になるものがあります。このオプションにチェックを入れると、Chocolateyというパッケージマネージャーが自動的にインストールされ、その後必要なツール(PythonやVisual C++ Build Toolsなど)がインストールされます。
- 初心者の方へ: 多くのNode.jsパッケージはネイティブツールを必要としませんが、特定のライブラリ(例えば、画像処理ライブラリやデータベースドライバの一部など)をインストールする際に必要になる場合があります。後で手動でインストールすることも可能ですが、必要になる可能性がある場合はここでチェックを入れておくのが簡単です。ただし、これには追加のダウンロードとインストール時間が必要になります。必須ではありませんが、チェックを入れておくことで、将来的に遭遇するかもしれない問題を減らすことができます。 必要なければチェックを外して「Next >」をクリックしても問題ありません。
- 注意: このオプションを選択した場合、インストールの完了後に別途コマンドプロンプトが開き、ツールのダウンロード・インストールが自動的に行われます。これには時間がかかる場合があります。
今回は、将来的な開発を見越して、このオプションにチェックを入れて「Next >」をクリックすることを推奨します。
-
Ready to install Node.js: インストール内容の確認画面です。「Install」ボタンをクリックするとインストールが開始されます。ユーザーアカウント制御(UAC)のダイアログが表示されたら「はい」を選択してください。
インストールが開始されます。進捗バーが表示され、ファイルのコピーや設定が行われます。
-
Installing Tools for Native Modules (もし選択した場合): もし先ほどの画面で「Tools for Native Modules」にチェックを入れた場合、Node.js自体のインストールが完了した後、新しいコマンドプロンプトウィンドウが開きます。このウィンドウで、Chocolateyのインストールや、必要なツールのダウンロード・インストールが自動的に行われます。画面の指示(例えば何かキーを押す、
Y
を入力するなど)に従って進めてください。このプロセスには時間がかかる場合があります。プロセスの途中で画面が停止したように見えることがありますが、しばらく待つか、画面に表示された指示をよく読んで進めてください。すべてのツールがインストールされ、ウィンドウが自動的に閉じるか、完了のメッセージが表示されるまで待ちます。 -
Completed the Node.js Setup Wizard: インストールが完了した画面です。「Finish」ボタンをクリックしてウィザードを閉じます。
4.3. インストール確認
Node.jsとnpmが正しくインストールされたか確認します。
- コマンドプロンプトを開く: Windowsのスタートメニューから「コマンドプロンプト」または「PowerShell」を検索して起動します。
- 重要: インストール中に環境変数PATHが更新された可能性があります。インストールを開始する前に開いていたコマンドプロンプトやPowerShellウィンドウは一度閉じて、新しいウィンドウを開き直してください。 これをしないと、更新されたPATHが反映されず、「’node’ は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されていません。」のようなエラーが表示される可能性があります。
-
新しいコマンドプロンプトウィンドウで、以下のコマンドをそれぞれ入力し、Enterキーを押します。
bash
node -vbash
npm -v正しくインストールされていれば、Node.jsのバージョン番号(例:
v20.10.0
)とnpmのバージョン番号(例:10.2.0
)が表示されるはずです。もしバージョン番号が表示されず、前述のようなエラーが表示された場合は、PATH環境変数が正しく設定されていない可能性があります。
4.4. トラブルシューティング(Windows)
command not found
エラー:- 最も多い原因は、コマンドプロンプト/PowerShellを再起動していないことです。インストーラー完了後、必ず一度すべてのコマンドプロンプト/PowerShellウィンドウを閉じて、新しく開き直してください。
- それでも改善しない場合は、PATH環境変数にNode.jsのインストール先ディレクトリが正しく追加されているか確認します。
- Windowsの検索バーに「環境変数」と入力し、「環境変数を編集」を開きます。
- 「システムのプロパティ」ウィンドウが表示されるので、下部の「環境変数(N)…」ボタンをクリックします。
- 「環境変数」ウィンドウが表示されます。上部の「ユーザー環境変数」と下部の「システム環境変数」の両方のリストを確認します。
- リストの中から「Path」という変数名を探し、選択して「編集(I)…」ボタンをクリックします。
- 表示されるパスの一覧の中に、Node.jsのインストール先ディレクトリ(デフォルトなら
C:\Program Files\nodejs\
)が含まれているか確認します。 - もし含まれていない場合は、「新規(N)」ボタンをクリックして追加し、「OK」をクリックしてウィンドウを閉じます。
- PATH環境変数を編集した場合も、必ずコマンドプロンプト/PowerShellを完全に終了させてから再度起動し直してください。
- インストールが途中で失敗する:
- 管理者権限でインストーラーを実行しているか確認してください(
.msi
ファイルを右クリックして「管理者として実行」)。 - コンピュータを再起動してから再度試してみてください。
- セキュリティソフトウェア(ウイルス対策ソフトなど)がインストールを妨げている可能性があります。一時的に無効にして試すか、Node.jsのインストールディレクトリを例外設定に追加することを検討してください(ただし、セキュリティリスクを理解した上で行ってください)。
- ディスクの空き容量が不足している可能性があります。
- 管理者権限でインストーラーを実行しているか確認してください(
- npm install時にパーミッションエラーが出る:
- これはWindows特有の問題ではなく、後述するnpmセクションやバージョンマネージャーセクションで詳しく解説します。管理者権限での実行や、インストールディレクトリの権限設定が関係することが多いです。
5. macOSでのインストール手順(公式サイトインストーラー)
macOSにNode.jsをインストールする手順を詳しく解説します。
5.1. Node.js公式サイトからのダウンロード
Windowsの場合と同様に、Node.js公式サイト(nodejs.org)にアクセスします。
https://nodejs.org/
トップページに表示されているLTS版(推奨版)のダウンロードボタンをクリックし、macOS用のインストーラー(.pkg
ファイル)をダウンロードします。通常は「macOS 64-bit (x64) Installer」が表示されているはずです。Apple Silicon (M1, M2, M3チップなど) 搭載Macでも、x64版のインストーラーで Rosetta 2 経由で実行できますし、よりネイティブに近いarm64版が提供されている場合もあります。公式サイトの推奨に従ってください。
5.2. インストーラーの実行
ダウンロードした .pkg
ファイルをダブルクリックして実行します。セキュリティの警告が表示される場合は、「開く」を選択してください。
インストーラーが起動します。画面の指示に従って進めていきます。
- Node.js インストーラへようこそ: インストールウィザードへようこそ、という画面です。「続ける」をクリックします。
- 大切な情報: Node.jsについての重要な情報が表示されます(リリースノートなど)。確認して「続ける」をクリックします。
- ソフトウェア使用許諾契約: ライセンス同意画面です。内容を確認し、「続ける」をクリックします。同意を確認するダイアログが表示されるので、「同意する」をクリックします。
- インストール先: Node.jsをインストールするディスクを選択します。通常はデフォルトの Macintosh HD (またはお使いの起動ディスク名) で問題ありません。「続ける」をクリックします。
- インストールの種類: インストール方法を選択します。通常は「標準インストール」を選択します。これで、Node.js本体、npmなどが
/usr/local/bin
や/usr/local/lib
といった標準的なシステムディレクトリにインストールされます。インストールに必要なディスク容量が表示されます。問題なければ「インストール」をクリックします。 - インストール: インストールを開始するために、macOSのログインパスワード(管理者パスワード)の入力を求められます。パスワードを入力し、「ソフトウェアをインストール」をクリックします。
インストールが開始されます。進捗バーが表示され、ファイルのコピーや設定が行われます。
- 概要: インストールが完了した画面です。「閉じる」をクリックしてウィザードを閉じます。インストールに使ったインストーラーファイルをどうするか聞かれることがありますが、不要であればゴミ箱に移動しても構いません。
5.3. インストール確認
Node.jsとnpmが正しくインストールされたか確認します。
- ターミナルを開く: Launchpadの「その他」フォルダや、Spotlight検索 (Command + Space) で「ターミナル」と入力して起動します。
- 重要: Windowsと同様、インストーラー完了後、インストールを開始する前に開いていたターミナルウィンドウは一度閉じて、新しいウィンドウを開き直してください。 これをしないと、更新された環境変数(PATHなど)が反映されず、コマンドが見つからないエラーが表示される可能性があります。
-
新しいターミナルウィンドウで、以下のコマンドをそれぞれ入力し、Enterキーを押します。
bash
node -vbash
npm -v正しくインストールされていれば、Node.jsのバージョン番号(例:
v20.10.0
)とnpmのバージョン番号(例:10.2.0
)が表示されるはずです。もしバージョン番号が表示されず、
command not found: node
のようなエラーが表示された場合は、PATH環境変数が正しく設定されていないか、インストールが失敗している可能性があります。
5.4. トラブルシューティング(macOS)
command not found
エラー:- 最も多い原因は、ターミナルを再起動していないことです。インストーラー完了後、必ず一度すべてのターミナルウィンドウを閉じて、新しく開き直してください。
- 公式サイトのインストーラーは通常、Node.js実行ファイルがインストールされるディレクトリ(
/usr/local/bin
など)を自動的にPATHに追加します。もし追加されていない、または他の設定と競合している場合は、手動でPATHを設定する必要があるかもしれません。ただし、これはやや高度な設定であり、通常はインストーラーが正しく処理するため稀なケースです。 - ターミナルで使用しているシェル(bash, zshなど)の設定ファイル(例:
.bash_profile
,.zshrc
)に、Node.jsのPATH設定が記述されていない、または他のPATH設定よりも優先順位が低い、といった問題が考えられます。これらの設定ファイルを編集して、Node.jsの実行ファイルパス(例:/usr/local/bin
)がPATHに含まれていることを確認してください。
- インストールが途中で失敗する:
- 管理者パスワードを正しく入力したか確認してください。
- コンピュータを再起動してから再度試してみてください。
- セキュリティソフトウェアがインストールを妨げている可能性があります。
- ディスクの空き容量が不足している可能性があります。
- npm install時にパーミッションエラーが出る:
- macOSでも、システムディレクトリにグローバルパッケージをインストールしようとした場合に権限エラーが発生することがあります。これについては後述します。
5.5. Homebrewを使ったインストール (補足)
macOSユーザーの間では、Homebrewというパッケージマネージャーが広く使われています。Homebrewを使ってNode.jsをインストールすることも可能です。
- Homebrewのインストール: Homebrewがインストールされていない場合は、公式ウェブサイト (brew.sh) の指示に従って、ターミナルでコマンドを実行してインストールします。
-
Node.jsのインストール: Homebrewがインストールされたら、ターミナルで以下のコマンドを実行します。
bash
brew install nodeこれにより、HomebrewがNode.jsとその関連ツールをダウンロードしてインストールしてくれます。HomebrewはPATH設定なども適切に行ってくれます。
-
インストール確認: Homebrewによるインストール完了後、公式サイトインストーラーの場合と同様に
node -v
とnpm -v
でバージョンを確認します。
Homebrewを使うメリットは、Node.jsだけでなく他の多くの開発ツールも一元的に管理できるようになることです。アップデートも brew upgrade node
で簡単に行えます。ただし、デフォルトではLTS版ではなく最新版がインストールされる可能性があること、複数のバージョン管理にはバージョンマネージャーの方が優れている点は考慮が必要です。
6. Linuxでのインストール手順(パッケージマネージャー)
Linuxには様々なディストリビューション(Ubuntu, Fedora, CentOS, Debianなど)があり、それぞれ異なるパッケージマネージャーを使用しています。ここでは、代表的なパッケージマネージャーを使ったNode.jsのインストール方法を解説します。
重要: 多くのLinuxディストリビューションの標準リポジトリに含まれているNode.jsパッケージは、バージョンが古かったり、Node.js本体(node
)とnpm(npm
)が別のパッケージだったりする場合があります。公式の最新版またはLTS版をインストールするには、Node.js公式が提供するリポジトリ(NodeSourceなど)を追加するのが推奨されます。
6.1. Debian/Ubuntu系 (apt)
DebianやUbuntu、Linux Mintなどのディストリビューションでは apt
コマンドを使用します。
-
公式NodeSourceリポジトリの追加: Node.jsの公式ビルドを取得するために、NodeSourceが提供するリポジトリを追加します。これは、Node.jsのウェブサイトで推奨されている方法です。以下のコマンドは、Node.jsの特定のバージョン(例:
20
はLTS版)のリポジトリを追加します。“`bash
Node.jsのLTS版 (例: v20) のリポジトリを追加する場合
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash –
あるいは最新版 (Current) のリポジトリを追加する場合
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash –
``
curlコマンドを使ってシェルスクリプトをダウンロードし、それを
sudo -E bash –で実行しています。このスクリプトが、システムのソースリストにNodeSourceリポジトリを追加し、GPGキーをインポートします。
sudo` を実行するため、ユーザーのパスワード入力が求められます。 -
パッケージリストの更新: 新しいリポジトリを追加したら、パッケージリストを更新します。
bash
sudo apt update -
Node.jsとnpmのインストール: NodeSourceリポジトリからNode.jsとnpmをインストールします。NodeSourceのリポジトリでは、Node.jsパッケージにnpmも含まれています。
bash
sudo apt install nodejs
標準リポジトリのnodejs
と区別するため、NodeSourceのリポジトリではnodejs
というパッケージ名が使用されます。 -
インストール確認: インストールが完了したら、バージョンを確認します。
bash
node -v
npm -vバージョン番号が表示されれば成功です。
6.2. Fedora/CentOS/RHEL系 (yum/dnf)
Fedora、CentOS Stream、RHEL、AlmaLinux、Rocky Linuxなどのディストリビューションでは yum
または dnf
コマンドを使用します。これらのシステムでは、Node.jsは通常「モジュール」として提供されています。
-
利用可能なNode.jsモジュールの確認: インストール可能なNode.jsのバージョン(モジュール)を確認します。
“`bash
sudo dnf module list nodejs # Fedora/RHEL 8+/CentOS 8+または
sudo yum module list nodejs # CentOS 7/RHEL 7 (古いシステム)
“`
出力には、利用可能な様々なバージョンのNode.jsモジュールが表示されます。通常、
[d]
や[e]
のようなマークでデフォルトや有効化されているバージョンが示されています。LTS版など、インストールしたいバージョンを確認してください。 -
Node.jsモジュールの有効化とインストール: インストールしたいバージョンのモジュールを有効化してインストールします。例えば、Node.js v20 (LTS) をインストールする場合:
bash
sudo dnf module enable nodejs:20 # 20の部分は使いたいバージョンに合わせる
sudo dnf install nodejs
古いバージョンのモジュールが有効化されている場合は、一度無効化してから新しいバージョンを有効化する必要があります (sudo dnf module reset nodejs
)。CentOS 7/RHEL 7などの古いシステムで
yum
を使う場合は、NodeSourceリポジトリを追加してyum install nodejs
とする方法もあります(Debian/Ubuntuのcurlスクリプトをyum版に置き換える)。 -
インストール確認: インストールが完了したら、バージョンを確認します。
bash
node -v
npm -vバージョン番号が表示されれば成功です。
6.3. トラブルシューティング(Linux)
command not found
エラー:- インストーラー(パッケージマネージャー)がPATHを正しく設定していないか、シェルの再起動が必要です。新しいターミナルウィンドウを開き直してください。
/usr/local/bin
や/usr/bin
など、Node.jsがインストールされたディレクトリがPATH環境変数に含まれているか確認してください。
sudo
実行時のエラー:- ユーザーが
sudo
を実行する権限を持っているか確認してください。
- ユーザーが
- パッケージマネージャーのエラー:
- リポジトリの追加やパッケージリストの更新 (
apt update
,dnf update
) が正しく完了しているか確認してください。 - インターネット接続に問題がないか確認してください。
- 古いバージョンのNode.jsやnpmが競合している可能性があります。一度アンインストールしてから再試行してください。アンインストールはパッケージマネージャーで行います(例:
sudo apt remove nodejs npm
,sudo dnf remove nodejs
)。
- リポジトリの追加やパッケージリストの更新 (
- npm install時にパーミッションエラーが出る:
- Linuxでも、システムディレクトリにグローバルパッケージをインストールしようとすると権限エラーが出ます。これについては後述します。ユーザーのホームディレクトリ内にパッケージをインストールするようにnpmを設定するか(推奨)、バージョンマネージャーを使用するのが一般的な解決策です。
7. npm(Node Package Manager)について
Node.jsをインストールすると、通常 npm (Node Package Manager) も一緒にインストールされます。npmはNode.jsエコシステムにおいて非常に重要なツールです。
7.1. npmの役割
npmの主な役割は以下の通りです。
- パッケージ管理: Node.jsで利用できる様々なライブラリやツール(これらを「パッケージ」または「モジュール」と呼びます)を、インターネット上にあるnpmレジストリからダウンロード、インストール、管理します。例えば、WebフレームワークのExpressを使いたいと思ったら、npmコマンド一つであなたのプロジェクトにExpressを追加できます。
- 依存関係の管理: プロジェクトがあるパッケージを使用している場合、そのパッケージがさらに別のパッケージに依存していることがあります。npmはこれらの「依存関係」を自動的に解決し、必要なすべてのパッケージをインストールしてくれます。
- プロジェクト情報の管理: プロジェクトの名前、バージョン、説明、作者、ライセンス情報、そして重要な「依存パッケージ」のリストや、開発に使う「開発依存パッケージ」のリストなどを
package.json
というファイルに記録・管理します。 - スクリプト実行:
package.json
ファイルには、開発者が定義したカスタムコマンド(スクリプト)を記述できます。例えば、開発サーバーを起動するstart
スクリプトや、テストを実行するtest
スクリプトなどを定義しておき、npm start
やnpm test
という簡単なコマンドで実行できます。
npmはNode.jsと一緒にインストールされる最も一般的なパッケージマネージャーですが、他にも Yarn や pnpm といった代替のパッケージマネージャーも存在します。機能やパフォーマンス、使い方に違いがありますが、基本的な役割はnpmと似ています。初めての方は、Node.jsに付属するnpmを使うのが最も簡単です。
7.2. package.json
と node_modules
npmを使ってプロジェクトを管理する際、中心となるのが package.json
ファイルと node_modules
ディレクトリです。
-
package.json
:- プロジェクトのメタ情報が記述されたJSONファイルです。
- npmを使ってパッケージをインストールすると、そのパッケージ名とバージョンが
dependencies
(本番環境でも必要なパッケージ) またはdevDependencies
(開発中にのみ必要なパッケージ、例えばテストツールやビルドツール) としてこのファイルに自動的に記録されます。 - 後から他の開発者がこのプロジェクトに参加する際、
package.json
ファイルを見れば必要なパッケージが分かり、npm install
コマンドを実行するだけで全ての依存パッケージを一括でインストールできます。 - 自分でプロジェクトを始める際は、プロジェクトのルートディレクトリで
npm init
コマンドを実行すると、対話形式でpackage.json
ファイルを作成できます。
-
node_modules
:- npmを使ってプロジェクトにインストールされた全てのパッケージが、このディレクトリ以下に保存されます。
- 非常に多くのファイルやフォルダが含まれるため、ファイルサイズの合計が大きくなることがあります。
- 重要:
node_modules
ディレクトリは、バージョン管理システム(Gitなど)の管理対象から除外するのが一般的です(.gitignore
ファイルにnode_modules/
を記述します)。なぜなら、package.json
があれば、誰でもnpm install
コマンド一つで必要なパッケージを再現できるからです。node_modules
ディレクトリ自体を共有する必要はありませんし、容量も大きすぎるため不向きです。
7.3. よく使うnpmコマンド
npm init
: 新しいプロジェクトのpackage.json
ファイルを作成します。npm install
またはnpm i
:- 引数なしで実行した場合、カレントディレクトリの
package.json
を読み込み、そこに記述されている全ての依存パッケージをnode_modules
ディレクトリにインストールします。 - 特定のパッケージ名を指定した場合(例:
npm install express
)、そのパッケージをダウンロードしてnode_modules
にインストールします。デフォルトではdependencies
としてpackage.json
に追記されます。
- 引数なしで実行した場合、カレントディレクトリの
npm install <package-name> --save-dev
またはnpm i <package-name> -D
: パッケージを開発依存パッケージとしてインストールし、package.json
のdevDependencies
に追記します。テストツールやビルドツールなどに使います。npm uninstall <package-name>
: 指定したパッケージをnode_modules
から削除し、package.json
からも依存関係を削除します。npm update <package-name>
: 指定したパッケージを、package.json
に記述されているバージョン範囲内で最新版にアップデートします。引数なしでnpm update
を実行すると、全ての依存パッケージをアップデートします。npm start
:package.json
のscripts
フィールドに定義されているstart
スクリプトを実行します。多くのNode.jsプロジェクトで、アプリケーションの起動に使われます。npm test
:package.json
のscripts
フィールドに定義されているtest
スクリプトを実行します。通常はテスト実行コマンドが設定されています。npm run <script-name>
:package.json
のscripts
フィールドに定義されている任意のスクリプトを実行します(start
,test
,install
,stop
などの予約語以外のスクリプト)。例えば、build
スクリプトを定義していればnpm run build
で実行できます。npm install -g <package-name>
: パッケージをグローバルにインストールします。これは、特定のプロジェクトのためではなく、コマンドラインツールとしてシステム全体で利用したいパッケージ(例えば、Vue CLIやCreate React Appのようなプロジェクト生成ツール、nodemonのような開発支援ツールなど)に使用します。グローバルにインストールされたパッケージは、通常/usr/local/bin
(macOS/Linux) や Node.jsのインストールディレクトリ下のnpm
(Windows) など、システムのPATHが通った場所に実行ファイルが配置されます。
7.4. npm install時のパーミッション問題
LinuxやmacOSで sudo npm install -g <package-name>
といった形でグローバルインストールを行うと、権限の問題が発生することがあります。これは、npmがシステムディレクトリ(/usr/local/lib/node_modules
など)にパッケージを書き込もうとするためです。
解決策としては、以下のいずれかが推奨されます。
- npmのデフォルトインストールディレクトリを変更する: npmの設定を変更し、ユーザーのホームディレクトリ配下にグローバルパッケージをインストールするようにします。これが最も推奨される方法です。公式ドキュメントに手順が記載されています。
- バージョンマネージャーを使用する: nvmやVoltaといったバージョンマネージャーは、Node.jsだけでなくnpmもユーザー権限で管理するため、この種の問題が発生しにくくなります。
- (非推奨)
sudo
を使う:sudo npm install -g ...
のようにsudo
を使って管理者権限で実行する方法もありますが、これはセキュリティリスクを高める可能性があるため、一般的には非推奨とされています。
Windowsでは、Node.jsインストーラーが通常、PATHが通ったディレクトリにnpmをセットアップするため、特定のディレクトリへの書き込み権限問題はLinux/macOSほど頻繁には発生しませんが、稀に管理者権限が必要な場合があります。
8. バージョンマネージャーの導入 (nvmを例に)
Node.jsを使った開発を続けていくと、複数のバージョンのNode.jsを使い分けたい場面に遭遇する可能性が高まります。例えば:
- 現在参加しているプロジェクトが、特定の古いNode.jsバージョン(例: v14)で動作確認されている。
- 新しいプロジェクトを始めるにあたり、最新のNode.jsバージョン(例: v20)を使いたい。
- Node.jsの新しい機能を試してみたいので、開発版のバージョンをインストールしたい。
このような場合に、システム全体に一つのNode.jsバージョンしかインストールされていないと、プロジェクトごとにNode.jsのインストール・アンインストールを繰り返す必要があり、非常に非効率です。そこで役立つのが「バージョンマネージャー」です。
バージョンマネージャーを使うことで、複数のNode.jsバージョンを同じコンピュータ上に共存させ、プロジェクトや作業内容に応じて簡単に切り替えられるようになります。
主要なNode.jsバージョンマネージャーには、nvm (Node Version Manager), Volta, asdf などがあります。それぞれ特徴がありますが、ここでは多くのNode.js開発者に利用されている nvm を例に、その導入方法と基本的な使い方を詳しく解説します。
nvm (Node Version Manager)
nvmは、主にmacOSおよびLinux環境で利用されるNode.jsのバージョンマネージャーです(Windowsにはnvm-windowsという別のプロジェクトがあります。こちらも人気があります)。シェルスクリプトとして実装されており、シンプルで強力です。
8.1. nvmのインストール(macOS/Linux)
nvmはパッケージマネージャーではなく、GitHubでホストされているシェルスクリプトを使ってインストールします。
-
インストールコマンドの実行: ターミナルを開き、以下のどちらかのコマンドを実行します(
curl
またはwget
)。Node.jsの公式サイトのnvmセクションや、nvmのGitHubリポジトリ (github.com/nvm-sh/nvm) に常に最新のインストールコマンドが掲載されていますので、そちらを確認することを推奨します。curlを使用する場合:
“`bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bashv0.39.5 は最新のバージョン番号に置き換えてください
“`
wgetを使用する場合:
“`bash
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bashv0.39.5 は最新のバージョン番号に置き換えてください
“`
このコマンドは、nvmのインストールスクリプトをダウンロードし、シェル(bashまたはzshなど)で実行します。スクリプトは、ユーザーのホームディレクトリ(
~/.nvm
)にnvmをインストールし、シェルの設定ファイル(.bashrc
,.profile
,.zshrc
など)にnvmを読み込むための設定を自動的に追記します。 -
シェルの再起動または設定ファイルの読み込み: インストールスクリプトはシェルの設定ファイルを変更しますが、その変更は現在開いているターミナルセッションにはすぐには反映されません。新しいターミナルウィンドウを開き直すか、以下のコマンドを実行して設定ファイルを再読み込みしてください。
“`bash
source ~/.bashrcまたは使用しているシェルに合わせて以下を実行
source ~/.profile
source ~/.zshrc
“`
どの設定ファイルが変更されたかは、インストールスクリプトの出力メッセージで確認できます。 -
nvmのインストール確認: 新しいターミナルウィンドウで、以下のコマンドを実行し、nvmのバージョン番号が表示されるか確認します。
bash
nvm --versionバージョン番号が表示されれば、nvmのインストールは成功です。もし
command not found: nvm
と表示される場合は、シェルの設定ファイルの読み込みが正しく行われていないか、インストールスクリプトがエラーなく完了しなかった可能性があります。使用しているシェルと設定ファイルを確認してください。
8.2. nvm-windowsのインストール(Windows)
Windowsユーザーの方は、macOS/Linux版のnvmとは別の nvm-windows を使用します。
- GitHubリポジトリにアクセス: nvm-windowsのGitHubリポジトリにアクセスします。
https://github.com/coreybutler/nvm-windows
- インストーラーのダウンロード: リポジトリのREADMEにダウンロードリンクがあります。最新版の「Assets」セクションから、
nvm-setup.exe
ファイルをダウンロードします。 - インストーラーの実行: ダウンロードした
nvm-setup.exe
をダブルクリックして実行します。指示に従ってインストールを進めます。インストール先ディレクトリを選択したり、Node.jsのシンボリックリンクを作成するかどうかなどを聞かれます。デフォルト設定で問題ないことが多いです。インストーラーが、nvm本体と、Node.jsバージョンを切り替えるための設定をシステムに登録します。 -
インストール確認: 新しいコマンドプロンプトまたはPowerShellウィンドウを開き、以下のコマンドを実行します。
bash
nvm -vnvm-windowsのバージョン番号が表示されれば成功です。
8.3. nvmの基本的な使い方
nvm(macOS/Linux版、nvm-windows版でコマンドが若干異なる場合がありますが、ここではmacOS/Linux版を中心に解説し、Windows版との違いも補足します)の基本的なコマンドを覚えましょう。
-
利用可能なNode.jsバージョンの確認: インストール可能なNode.jsのバージョンを一覧表示します。
bash
nvm list-remote
LTS版やCurrent版など、様々なバージョンが表示されます。インストールしたいバージョンの番号(例:v20.10.0
,v18.18.2
,lts/iron
など)を控えておきます。 -
Node.jsのインストール: 指定したバージョン番号のNode.jsをインストールします。LTS版やCurrent版をエイリアスで指定することも可能です。
bash
nvm install 20.10.0 # 特定のバージョンをインストール
nvm install lts/iron # LTS版(Ironリリースラインの最新版)をインストール
nvm install --lts # 現在アクティブなLTS版をインストール
nvm install node # 最新版(Current)をインストール
npmもNode.jsと一緒にインストールされます。 -
インストール済みのNode.jsバージョンの確認: 現在コンピュータにインストールされているNode.jsのバージョンを一覧表示します。現在使用中のバージョンには矢印(
->
)が表示されます。“`bash
nvm listまたは
nvm ls
“`
-
使用するNode.jsバージョンの切り替え: 指定したバージョンを、現在のターミナルセッションで使用するNode.jsバージョンとして設定します。
bash
nvm use 20.10.0 # 特定のバージョンを使用
nvm use lts/iron # LTS版を使用
nvm use node # 最新版を使用
この設定は、そのターミナルセッションが閉じられるまで有効です。新しいターミナルを開くと、デフォルトのバージョンが使用されます。 -
デフォルトNode.jsバージョンの設定: 新しいターミナルを開いたときにデフォルトで使用されるNode.jsバージョンを設定します。
bash
nvm alias default 20.10.0 # 特定のバージョンをデフォルトに設定
nvm alias default lts/iron # LTS版をデフォルトに設定 -
Node.jsバージョンのアンインストール: 不要になったNode.jsバージョンをアンインストールします。
bash
nvm uninstall 18.18.2 # 特定のバージョンをアンインストール
現在使用中のバージョンはアンインストールできません。 -
現在使用中のバージョンの確認:
bash
nvm current
nvm-windowsのコマンド補足:
nvm-windowsのコマンドは上記とほぼ同じですが、インストール可能なバージョンリストは nvm list available
で表示します。使用するバージョンの切り替えは nvm use <version>
で、デフォルト設定は nvm alias default <version>
です。nvm install
も同様に使えます。
8.4. プロジェクトごとにバージョンを切り替える (.nvmrc)
多くのバージョンマネージャーは、プロジェクトのルートディレクトリに特定のファイル(nvmの場合は .nvmrc
ファイル)を置いておくことで、そのディレクトリに入った際に自動的にNode.jsバージョンを切り替える機能を持っています。
- プロジェクトのルートディレクトリに
.nvmrc
という名前のファイルを作成します。 -
ファイルの中に、そのプロジェクトで使用したいNode.jsのバージョン番号またはエイリアス(例:
20.10.0
,lts/iron
,node
など)を記述して保存します。“`
.nvmrc ファイルの内容例 (Node.js v20.10.0 を使用したい場合)
20.10.0
“` -
そのプロジェクトディレクトリにターミナルで移動します。
-
以下のコマンドを実行します。
bash
nvm use
.nvmrc
ファイルが検出され、そこに指定されたNode.jsバージョンが自動的に選択されます。「Found ‘.nvmrc’ with version <バージョン>, running ‘nvm use <バージョン>’」のようなメッセージが表示されるはずです。
この .nvmrc
ファイルをプロジェクトのリポジトリに含めておくことで、他の開発者も同じNode.jsバージョンを使って開発できるようになり、環境依存による問題を減らすことができます。
バージョンマネージャーを使うメリットのまとめ:
- 複数のNode.jsバージョンを簡単にインストール・管理できる。
- プロジェクトごとにNode.jsバージョンを切り替えるのが容易になる。
- npmなどのツールも、選択したNode.jsバージョンに対応したものが自動的に使われる。
- 特にLinux/macOS環境でのnpmのパーミッション問題を回避しやすい。
最初のうちは公式サイトのインストーラーで始めても構いませんが、Node.js開発を本格的に行う場合は、バージョンマネージャーの導入を強く推奨します。
9. インストール後の確認と次のステップ
Node.jsとnpmのインストールが完了し、必要に応じてバージョンマネージャーもセットアップできましたね!これで、Node.jsを使った開発環境が整いました。
9.1. 開発環境のセットアップ
- テキストエディタ/IDE: コードを書くためのツールを準備しましょう。前述のVS Codeが多機能でおすすめですが、使い慣れたエディタがあればそれを使っても構いません。Node.jsやJavaScriptのシンタックスハイライト、コード補完、デバッグ機能などが使えるように設定を確認しましょう。
- ターミナル: コマンドを実行するためのツールも重要です。OS標準のものでも十分ですが、より高機能なターミナルエミュレーター(例: iTerm2 for macOS, Windows Terminal for Windows, Tilix for Linuxなど)を検討しても良いでしょう。
9.2. 簡単なNode.jsプログラムの実行
インストールが本当に成功したか、簡単なコードを書いて実行してみましょう。
- 任意の場所に新しいフォルダを作成します(例:
my-first-node-app
)。 - そのフォルダの中に、
index.js
という名前の新しいファイルを作成します。 -
テキストエディタで
index.js
ファイルを開き、以下のコードを記述して保存します。“`javascript
// index.js
console.log(“Hello, Node.jsの世界へようこそ!”);const message = “これはNode.jsで実行されています。”;
console.log(message);// 簡単な計算
const a = 10;
const b = 20;
console.log(${a} + ${b} = ${a + b}
);// 現在のディレクトリを表示 (Node.jsのグローバルオブジェクト __dirname)
console.log(“現在のディレクトリ:”, __dirname);// 現在のファイル名を表示 (Node.jsのグローバルオブジェクト __filename)
console.log(“現在のファイル:”, __filename);
``
//
JavaScriptのコメント(で始まる行)や、変数の宣言(
const)、文字列と変数を組み合わせた出力(テンプレートリテラル
${…})、Node.js固有のグローバル変数(
__dirname,
__filename`)などを含めてみました。 -
ターミナル(コマンドプロンプト、PowerShellなど)を開き、作成したフォルダに移動します。
“`bash
cd path/to/my-first-node-app例: cd Documents/my-first-node-app
“`
-
以下のコマンドを実行して、作成したNode.jsプログラムを実行します。
bash
node index.jsターミナルに、コードで記述したメッセージや計算結果が出力されれば成功です!
Hello, Node.jsの世界へようこそ!
これはNode.jsで実行されています。
10 + 20 = 30
現在のディレクトリ: /path/to/my-first-node-app # (実際のパス)
現在のファイル: /path/to/my-first-node-app/index.js # (実際のパス)これで、Node.jsが正しく動作していることが確認できました。
9.3. 最初のNode.jsプロジェクトの作成 (npm init
)
npmを使ってプロジェクトの管理を開始する最初の一歩として、package.json
ファイルを作成してみましょう。
- 先ほど作成した
my-first-node-app
フォルダが、ターミナルで開かれていることを確認します。 -
以下のコマンドを実行します。
bash
npm initこのコマンドは、プロジェクトに関するいくつかの情報を対話形式で尋ねてきます。
package name:
: プロジェクトの名前です。デフォルトでフォルダ名が提案されます。そのままEnterを押すか、任意の名前を入力します。version:
: プロジェクトのバージョンです。デフォルトは1.0.0
です。description:
: プロジェクトの説明です。entry point:
: アプリケーションの開始ファイルです。デフォルトはindex.js
です。test command:
: テストを実行するためのコマンドです。git repository:
: GitリポジトリのURLです。keywords:
: プロジェクトに関連するキーワードです。author:
: あなたの名前です。license:
: プロジェクトのライセンスです。
これらの質問に対し、括弧の中に表示されているデフォルト値で良ければEnterキーを押します。入力したい場合は入力してEnterキーを押します。後で
package.json
ファイルを直接編集することも可能です。 -
最後に、入力した内容で
package.json
ファイルを作成するか確認されます (Is this OK? (yes)
)。yes
と入力してEnterキーを押します。json
// package.json が作成されました
{
"name": "my-first-node-app",
"version": "1.0.0",
"description": "私の最初のNode.jsアプリケーション",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}プロジェクトのルートディレクトリに
package.json
ファイルが新しく作成されたことを確認してください。これで、npmを使ったパッケージのインストールやスクリプト実行など、Node.jsプロジェクトの管理を開始できます。
9.4. 学習リソースの紹介
環境構築はあくまで始まりです!Node.jsを使った開発を本格的に学ぶために、以下のリソースを活用しましょう。
- Node.js公式ドキュメント: 最も正確で網羅的な情報源です。APIリファレンスや概念ガイドが豊富に揃っています。(nodejs.org/ja/docs/)
- npm公式ドキュメント: npmの使い方や、パッケージの公開方法などが詳しく説明されています。(docs.npmjs.com/)
- MDN Web Docs (Mozilla Developer Network): JavaScript自体の学習に非常に役立ちます。Node.js固有の内容も一部含まれています。(developer.mozilla.org/ja/docs/Web/JavaScript)
- オンラインチュートリアルやコース: freeCodeCamp, Coursera, Udemy, Pluralsight, N予備校など、多くのプラットフォームでNode.js入門から応用までのコースが提供されています。動画や実践的な演習を通じて学ぶことができます。
- 書籍: Node.jsの入門書や特定のライブラリに特化した書籍も多数出版されています。体系的に学びたい場合に有効です。
- コミュニティ: Node.js日本ユーザーグループや、Stack OverflowなどのQ&Aサイト、DiscordやSlackのコミュニティなどで質問したり、他の開発者と交流したりできます。
これらのリソースを活用しながら、少しずつNode.jsの知識を深めていきましょう。まずは簡単なWebサーバーを作ってみたり、npmで面白いパッケージを探して使ってみたりするのがおすすめです。
10. トラブルシューティングまとめ
環境構築は時に予期せぬ問題が発生しやすいステップです。ここでは、これまでのセクションで触れた内容も含め、よくあるトラブルとその対処法をまとめます。
10.1. command not found
(または「’node’ は、内部コマンドまたは外部コマンド…」) エラー
- 原因: ターミナル(またはコマンドプロンプト)が、
node
やnpm
という名前の実行ファイルがどこにあるか見つけられないために発生します。これは主にPATH環境変数が正しく設定されていないか、シェルの設定が反映されていないことが原因です。 - 対処法:
- ターミナルを再起動する: Node.jsをインストールした後、必ず現在開いているターミナルウィンドウをすべて閉じ、新しく開き直してください。インストーラーがPATHを更新した場合、新しいセッションにのみその変更が反映されます。
- PATH環境変数を手動で確認・設定する:
- Windows: 「環境変数を編集」を開き、システム環境変数またはユーザー環境変数の「Path」にNode.jsのインストール先ディレクトリ(デフォルト:
C:\Program Files\nodejs\
)が含まれているか確認します。含まれていなければ追加します。編集後、必ずコマンドプロンプト/PowerShellを再起動してください。 - macOS/Linux:
echo $PATH
コマンドで現在のPATHを確認します。Node.jsの実行ファイルがインストールされているディレクトリ(/usr/local/bin
など)が含まれているか確認します。含まれていない、または他のディレクトリよりも優先順位が低い場合は、シェルの設定ファイル(.bashrc
,.zshrc
,.profile
など)を編集してPATHを適切に設定し、source
コマンドで設定を再読み込みするか、ターミナルを再起動します。
- Windows: 「環境変数を編集」を開き、システム環境変数またはユーザー環境変数の「Path」にNode.jsのインストール先ディレクトリ(デフォルト:
- インストールが正しく完了したか確認する: インストーラーのログや、パッケージマネージャーの出力にエラーが出ていないか確認します。必要であれば一度アンインストールし、管理者権限で再インストールを試みます。
10.2. npm install 時の権限エラー (Permission denied)
- 原因: npmがパッケージをインストールしようとしているディレクトリに、現在のユーザーが書き込む権限を持っていない場合に発生します。特に、グローバルインストール (
npm install -g
) でシステムディレクトリ(/usr/local/lib/node_modules
など)にインストールしようとした際に起こりやすいです。 - 対処法:
- (推奨)npmのデフォルトディレクトリを変更する: npmの公式ドキュメントで推奨されている方法です。グローバルパッケージのインストール先を、ユーザーのホームディレクトリ配下にあるディレクトリに変更します。これにより、システムディレクトリへの書き込み権限は不要になります。
npm config set prefix 'パス'
コマンドなどで設定します。詳細な手順はOSによって異なるため、npm公式ドキュメントを参照してください。 - (推奨)バージョンマネージャーを使用する: nvmやVoltaなどのバージョンマネージャーは、Node.jsとnpmをユーザーのホームディレクトリ配下にインストール・管理するため、システムディレクトリへのアクセスが不要となり、権限問題を回避できます。
- (非推奨)
sudo
を使う: Linux/macOSでsudo npm install -g ...
と実行する方法ですが、これは推奨されません。sudo
は全てのファイルに対して管理者権限を与えてしまい、不注意な操作がシステムに損害を与えるリスクがあります。また、sudo
でインストールしたnpmパッケージの管理が複雑になることがあります。どうしても他に方法がない場合に限定して使用を検討してください。 - Windowsの場合: レアケースですが、特定のディレクトリへの書き込み権限がない場合、コマンドプロンプトまたはPowerShellを管理者として実行してから
npm install -g ...
を試してみてください。
- (推奨)npmのデフォルトディレクトリを変更する: npmの公式ドキュメントで推奨されている方法です。グローバルパッケージのインストール先を、ユーザーのホームディレクトリ配下にあるディレクトリに変更します。これにより、システムディレクトリへの書き込み権限は不要になります。
10.3. インストールしたはずのバージョンが使われない/古いバージョンが使われる
- 原因: PATH環境変数に複数のNode.jsインストールディレクトリが含まれており、古いバージョンが含まれるディレクトリが新しいバージョンよりも先に記述されている場合などに発生します。あるいは、バージョンマネージャーの設定が正しくない場合も考えられます。
- 対処法:
- PATH環境変数の順序を確認する: PATH環境変数は、OSが実行ファイルを探すディレクトリのリストです。リストの前の方にあるディレクトリが優先されます。Node.jsの新しいバージョンを含むディレクトリが、古いバージョンを含むディレクトリよりも先に記述されているか確認し、必要であれば順序を修正します。
- 古いNode.jsをアンインストールする: システムにインストールされているNode.jsが一つだけであれば、このような問題は発生しにくくなります。不要な古いバージョンはアンインストールすることを検討してください。
- バージョンマネージャーの設定を確認する: nvmなどを使っている場合は、
nvm use <version>
で正しくバージョンが切り替わっているか確認し、必要であればnvm alias default <version>
でデフォルトバージョンを設定し直します。.nvmrc
ファイルを使っている場合は、ファイルの内容が正しいか確認します。
10.4. インストーラーが正常に完了しない
- 原因: システムの互換性の問題、競合するソフトウェア、ディスク容量不足などが考えられます。
- 対処法:
- システム要件を確認する: お使いのOSのバージョンがNode.jsのインストールしたいバージョンでサポートされているか確認します。
- コンピュータを再起動する: 一時的なシステムの問題は再起動で解決することがあります。
- セキュリティソフトウェアを確認する: ウイルス対策ソフトなどがインストーラーの実行を妨害している可能性があります。一時的に無効にして試すか、例外設定を追加します(自己責任で実施してください)。
- 管理者権限で実行する: Windowsのインストーラーは右クリックから「管理者として実行」を選択します。
- ディスク空き容量を確認する: Node.jsのインストールには数百MBから1GB程度の空き容量が必要になることがあります。特にWindowsで「Tools for Native Modules」を選択した場合は、追加で容量が必要です。
- 別のインストール方法を試す: どうしてもインストーラーがうまくいかない場合は、パッケージマネージャーやバージョンマネージャーを使ったインストールを検討します。
10.5. よくあるエラーメッセージと対処法
EACCES: permission denied
: 権限エラーです。npm install時の問題に多い。上記「npm install時の権限エラー」の対処法を参照。command not found
: PATH設定の問題。上記「command not found
エラー」の対処法を参照。npm ERR! Maximum call stack size exceeded
: Node.jsまたはnpmのバージョンが古い、または内部的な問題。Node.js/npmを最新のLTS版にアップデートしてみる。npm ERR! network connectivity
: ネットワーク接続の問題。インターネットに接続できているか、プロキシ設定が必要ないかなどを確認する。npmレジストリが一時的にダウンしている可能性もゼロではない。npm ERR! code ELIFECYCLE
:package.json
のscripts
で定義されたコマンドの実行中にエラーが発生した場合に表示されることが多い。エラーメッセージの上に具体的なエラー内容が出力されているはずなので、そちらを確認する。fatal error: '...' file not found
: ネイティブモジュールのビルドに必要なコンパイラやヘッダーファイルが見つからない場合に発生。Windowsでは「Tools for Native Modules」のインストール、macOSではXcode Command Line Toolsのインストール (xcode-select --install
)、Linuxではビルドに必要なパッケージ(build-essential
など)のインストールが必要です。
問題が発生した際は、表示されるエラーメッセージをよく読み、そこに書かれている情報(エラーコード、ファイルパス、原因と思われる説明など)をヒントに検索すると、解決策が見つかりやすいです。多くの開発者が同じような問題に遭遇しており、解決策がWeb上に公開されていることが多いです。
11. まとめ
この記事では、Node.jsを使った開発を始めるための最初のステップとして、環境構築、特にNode.jsとnpmのインストール手順について、Windows、macOS、Linuxの各OSごとに詳細に解説しました。また、Node.js開発において非常に有用なバージョンマネージャー(nvm)の導入方法や、npmの基本的な使い方、そして環境構築時によく遭遇するトラブルとその対処法についても触れました。
Node.jsのインストールが完了し、node -v
および npm -v
コマンドでバージョンが表示されるようになったら、あなたはNode.js開発の世界へ一歩踏み出したことになります。最初の簡単なプログラムを実行し、npm init
でプロジェクトの基盤を作成できたことは、大きな成果です。
環境構築は、プログラミング学習の中でも地味ながら非常に重要なステップです。ここでつまずかず、スムーズに開発を開始できたことは素晴らしいです。
Node.jsのエコシステムは広大で、学ぶべきことはたくさんあります。しかし、焦る必要はありません。まずは小さなプロジェクトから始めて、Node.jsで何ができるのか、npmを使ってどのようにライブラリを組み込むのかを体験してみてください。Webサーバーの構築、コマンドラインツールの作成、あるいは既に慣れ親しんだフロントエンド開発のためのビルドツールの活用など、Node.jsには様々な応用先があります。
この記事が、あなたのNode.js学習の確かなスタートラインとなることを願っています。困ったことがあれば、この記事のトラブルシューティングセクションを再度参照したり、公式ドキュメントやコミュニティで質問したりしてみてください。
さあ、インストールが終わった今、あなたのコンピュータはNode.jsの力を解き放つ準備ができています。これからのNode.js開発の旅を楽しんでください!