第0章 レッスン09

Node.jsを入れる

このレッスンでできるようになること: Node.js(JavaScript を自分のパソコンで動かす土台)が入り、node --version でバージョンが確認できる。npm の役割と、「PC全体に入れる道具」と「プロジェクトの部品」の違いがわかる。 所要時間: 45〜60分

再開する人へ: ①ターミナルを開く → ② cd ~/fde-dojo で教材フォルダに移動 → ③前回の続きから。

第0章もこれで最後の道具です。ここまでで、ターミナル・Git・Claude Code・doctor がそろいました。仕上げに Node.js を入れて、工具箱を完成させます。詰まったら、レッスン07で手に入れた doctor に遠慮なく相談してください。

Node.jsとは(どんな時に必要になるのか)

Node.js のワードマーク。Node.js は OpenJS Foundation の商標です

**Node.js(ノード・ジェイエス)は、JavaScript というプログラミング言語を、あなたのパソコンの上で動かすためのエンジン(実行係)**です。

JavaScript は、Web でいちばん広く使われているプログラミング言語です。もともとは、Webページを動かすためにブラウザの中で動くものでした。それを**ブラウザの外(あなたのPC)**でも動かせるようにするのが Node.js です。

あなたのプログラム(JavaScript)が Node.js(実行係)を通して OS・CPU の上で実行され、結果が画面に出るまでの流れの図

では、Node.js は「どんな時」に必要になるのでしょうか。この教材では、この先の章ではっきりと出番があります

  • 第4章で、予約システムのサーバーを動かすとき: あなたが作るアプリの裏側(サーバー)は、Node.js の上で動きます。Node.js がないと、そもそも動かせません。
  • 第5章で、Claude の API を呼ぶアプリを作るとき: プログラムから Claude に問い合わせる土台としても Node.js を使います。

今日は、このエンジンを積んでおくだけです。JavaScript を書くのは第4章からなので、いまは「どんな時に要るのか」のイメージが持てれば十分です。工具は先に全部そろえておき、あとは作ることに集中する方針です。

Node.js は OpenJS Foundation の商標です。

バージョンの選び方(LTS と、サポート期限 EOL)

Node.js には複数のバージョンがあり、選び方に1つだけコツがあります。サポートが続いているバージョンを選ぶことです。

Node.js の各バージョンには、次の3つの状態があります。

  • Active LTS: 長期サポート版(LTS = Long Term Support)の、いま一番おすすめの状態。安定していて、当分サポートされます。
  • Maintenance: サポートは続いていますが、そろそろ終盤の状態。使っても大丈夫です。
  • EOL(End of Life): サポートが終了した状態。セキュリティの修正も届かなくなるため、新しく入れるなら避けます

合格ライン(達成状態): 特定の数字を暗記する必要はありません。Node.js 公式のリリースページ(nodejs.org の Releases)を自分で開き、そこで「Active LTS」または「Maintenance」と示されているバージョンが入っていれば合格です。EOL と書かれた古いバージョンだけは避けてください(サポート終了版は、セキュリティ上の穴が放置される危険があります)。

参考(最終確認日 2026-07-24 時点。最新は必ず公式ページで確認): この時点では v24 が Active LTS、v22 が Maintenance、v20 は EOL(サポート終了)でした。数字は時間とともに進むので、上の「公式ページで LTS か Maintenance を確認」を基準にしてください。

npm とパッケージ(部品を借りてくる)

開発では、必要な機能をゼロから全部自分で作るのではなく、世界中の人が公開してくれた「部品」を借りてくるのが普通です。この部品をパッケージ、借りてくる道具を npm(エヌ・ピー・エム) と呼びます。npm は Node.js に付属していて、Node.js を入れると一緒に入ります。

公開された部品(パッケージ)を npm install で自分のプロジェクトに取り込み、実体は node_modules に、使う部品の一覧は package.json に入る図

  • パッケージ: 世界中の人が公開した「部品」(日付を扱う、画像を扱う、など)。
  • npm: そのパッケージを、自分のプロジェクトに取り込む道具。
  • package.json: 「どの部品を、どのバージョンで使うか」を書いた一覧のファイル
  • node_modules: 取り込んだパッケージの実体が置かれるフォルダ。中身は膨大です。
  • package-lock.json: 実際に入れた部品の版を細かく記録し、別のPCでも同じ環境を再現できるようにするファイル。

ここで先に1つだけ覚えておくと得をします。node_modules(部品の実体)は Git に入れません。package.jsonpackage-lock.json(部品の一覧と記録)は Git に入れます。実体は package.json さえあればいつでも入れ直せるので、重い実体は配らず、軽い一覧だけを配る、という考え方です(node_modules を除外する具体的な設定は、第2章で .gitignore として学びます。今は「実体は入れない、一覧は入れる」だけでOKです)。

道具箱は2つ ― グローバルとローカル

npm で部品を入れるとき、置き場所が2種類あります。ここは未経験のうちに整理しておくと、この先ずっと迷いません。

グローバル(PC全体)ローカル(このプロジェクト)
入れ方npm install -g 名前-g が目印)npm install 名前-g なし)
どこに入るPC全体で使えるコマンドとしていま作業中のフォルダの node_modules
使える範囲どのフォルダからでも呼べるそのプロジェクトの中だけ
向いているものどこでも使う「コマンド道具」そのアプリが動くのに必要な「部品」

もう1つ、npx(エヌ・ピー・エックス)という道具もあります。これは「入れっぱなしにせず、その場で1回だけ」部品を動かしたいときに使います。試しに動かすだけなら npx、常用するなら入れる、という使い分けです。

暗記は要りません。「-g が付くとPC全体の道具、付かないとそのプロジェクトの部品。npx はその場で1回」というイメージだけ持っておけば十分です。実際にプロジェクトを作って部品を入れるのは、第4章です。

やってみよう

ステップ1: すでに入っていないか確認する

node --version

達成状態: v + 数字(例 v24.x.x)が出たら、すでに入っています。その数字が、公式のリリースページで Active LTS または Maintenance と示されている版なら、そのままステップ3へ進んでOKです。EOL の古い版なら、ステップ2で入れ直します。「command not found」「認識されません」系なら、ステップ2へ。

今どの node が使われているかは、次で確かめられます(複数入っているときの切り分けに役立ちます)。

  • macOS: which node
  • Windows: where node

ステップ2: インストールする

macOS / Windows 共通で、公式サイトのインストーラーを使います。

  1. ブラウザで、Node.js 公式サイト(nodejs.org)を開く
  2. 「LTS」と書かれたボタンからダウンロードする(隣に新しいバージョンがあっても、まずは LTS を選びます)
  3. ダウンロードしたインストーラーを実行し、すべてそのまま「次へ/Next」で進める
  4. 完了したら、ターミナルを閉じて開き直しnode --version で確認

URL やボタンの位置は変わることがあります。上の「公式サイトの LTS ボタン」を目印にしてください(最終確認日 2026-07-24 時点では nodejs.org のトップに LTS のダウンロードボタンがありました)。

達成状態: node --version で、公式が Active LTS または Maintenance と示すバージョンの数字が表示されること。

ステップ3: おまけの相棒(npm)も確認する

Node.js を入れると、npm も一緒に入っています。

npm --version

達成状態: 数字が表示されること。数字そのものは何でも構いません。

ステップ4: 30秒だけ動かしてみる

エンジンがかかるか、一言だけ喋らせてみましょう。

node -e "console.log('Hello from Node')"

達成状態: Hello from Node と表示されること。今、あなたのパソコンの上で JavaScript のプログラムが1行動きました。 中身の意味は第4章で学ぶので、今は「動いた」という事実だけ持ち帰ってください。

ステップ5: ファイルに書いて動かす

node -e は「その場で1行」でしたが、実際の開発ではファイルに書いて動かすのが基本です。1回だけ体験しておきましょう(fde-dojo の中にいることを確認してください)。

エディタで新しいファイルを開いて、2行書きます。

  • macOS: open -e workspace/ch0/first.js(「開けない」と出たら、先に touch workspace/ch0/first.js を実行してから開き直す)
  • Windows: notepad workspace\ch0\first.js(「新規作成しますか?」と聞かれたら「はい」)

開いたら、次の2行を書いて保存してください(意味は第4章で学ぶので、今はそのまま写して大丈夫です)。

console.log('はじめての Node ファイル');
console.log(1 + 2);

保存したら、ターミナルで実行します。

node workspace/ch0/first.js

達成状態: はじめての Node ファイル3 が表示されること。node -e の「その場で1行」と違い、今度はファイルに書いて node で動かすことができました。これが、第4章以降ずっと使う基本の動かし方です。

ステップ6: 自分で1行だけ足して、動かし直す

最後に、自分の手で少しだけ書き換えてみます。これは、第1章から始まる「AIに全部任せず、自分でも少し手を入れて確かめる」進め方の予行演習です。

workspace/ch0/first.js に、次の1行を3行目として足して、保存してください。

console.log(10 * 3);

予測してから実行しましょうnode workspace/ch0/first.js を打つと、表示は (A) はじめての Node ファイル330 の3行になる / (B) 30 の1行だけになる。どちらだと思いますか。workspace/ch0/setup-notes.md に「予測: A か B」を1行書いてから、下を開いてください。

答え合わせ(開く=答え)

(A) 3行になります。 ファイルは上から順に実行されるので、前の2行はそのまま残り、足した1行が3行目として 30 を表示します。1行足しただけで結果が変わる、この小さな手ごたえが、これからの学習の基本の感覚です。

書いてみよう(通し成果物): workspace/ch0/setup-notes.md に、「Node.js が入った/-g とローカルの違いが◯◯だとわかった」を1行、自分の言葉で書き足してください。これで第0章のあなたのメモが完成します。

仕組みの解剖 — 「言語を入れる」とはどういうことか

  • パソコン(CPU)が直接理解できるのは機械語という数字の羅列だけで、JavaScript のような人間向けの言語はそのままでは通じません。**Node.js は、JavaScript を読み取って実行してくれる「実行係(ランタイムと呼びます)」**です。
  • レッスン02のとつなげると: node と打つ → シェルが PATH のリストから node というプログラムを見つける → その node があなたの JavaScript を実行する。登場人物が1人増えただけで、仕組みは同じです。
  • なぜ node_modules を配らず、package.json を配るのか: 部品の実体(node_modules)はとても重く、しかも package.json の一覧さえあれば npm install でいつでも入れ直せます。だから、重い実体は各自が手元で用意し、軽い一覧(package.jsonpackage-lock.json)だけを共有するのが定石です。「設計図は配る、完成品は配らない」と考えるとしっくりきます。

この一連の流れは、上の「JavaScript が動くまで」の図で示したとおりです。

理解ゲート

Claude Code の gatekeeper に採点してもらいましょう。こう打ってください。

gatekeeperスキルで、第0章レッスン09の理解ゲートをお願いします

聞かれるのは、おおむね次の2つです(自分の言葉で答えられればOK。暗記ではありません)。

  1. Node.js とは何ですか?(一言で)そして、node --version が「command not found」と出たとき、最初に試す一手は何ですか?
  2. npm install -g と、-g なしの npm install は、それぞれ何が違いますか? また、package.jsonnode_modules のうち、Git に入れるのはどちらで、入れないのはどちらですか?

うまくスキルが動かない場合は、下のセルフチェックで自己採点してください。

Q. Node.js を一言で/command not found の一手

Node.js は「JavaScript をパソコン上で実行してくれるエンジン(実行係)」。command not found が出たら、まずターミナルを閉じて開き直す(PATH の再読み込み。レッスン02・03と同じパターン)。

Q. -g とローカルの違い/どちらを Git に入れる

-gPC全体で使うコマンド道具として入れる。-g なしは、そのプロジェクトの node_modules に部品として入れる。Git には、package.json(一覧)を入れるnode_modules(実体)は入れないpackage.json から入れ直せるため)。

セーブポイント

  • node --version が、公式で Active LTS または Maintenance と示される版
  • npm --version が数字を返す
  • node -e "console.log('Hello from Node')" で挨拶が返ってきた
  • workspace/ch0/first.js を作り、1行足して node で動かせた
  • workspace/ch0/setup-notes.md に1行書いた

今日はここで区切ってOKです。 第0章の道具は、これで全部そろいました。

よくある詰まり

症状原因と対処
インストールしたのに node: command not foundターミナルの開き直し(毎度おなじみPATH問題)。それでも出ないときはインストーラーを再実行。まだ直らなければ doctor へ
バージョンが古い(EOL の版)と出る昔入れたものが残っています。公式サイトから LTS を入れ直せば新しいほうが使われます。入れ直しても古い数字のままなら、which nodewhere node でどこの node が使われているか確認を
npm install -gEACCES / permission denied で失敗sudo で無理に通さないでください。sudo で入れると管理者の領域にファイルが作られ、あとで別の操作が権限エラーで詰まる原因になります。公式インストーラーで入れ直すのが安全です。詰まったら doctor へ
node -e ...SyntaxError引用符の打ち間違いが定番です。"' の対応をコピー&ペーストで確認してください。全角の になっていないかも要確認
node が複数あるみたいで挙動が変which node(Windows は where node)で、いま使われている node の場所を確認。古いものが優先されている場合は、ターミナルを開き直すか、公式インストーラーで入れ直してください
(Windows)ダウンロードや実行が途中で止まる会社PCでは管理者権限やセキュリティソフトが関係することがあります。エラー文ごと doctor に相談するか、情シスに学習用途である旨を伝えてください

次は レッスン99 第0章の総復習 へ。そろえた道具を一度に振り返り、第1章へ進む準備を整えます。

最終確認日: 2026-07-24