JavaScript Ruby on Rails プログラミング

Node.jsのインストール

この記事を書いた人

Node.jsとは?

Node.js(一般に「Node」と略されます)は、サーバーサイドでJavaScriptを実行できる環境です。
もともとJavaScriptはブラウザ内でしか実行できない言語でしたが、Node.jsを使うことでブラウザ以外(例えばサーバーやコマンドラインツール)でもJavaScriptが使えるようになりました。

Node.js の特徴

  1. JavaScriptの実行環境
    • Googleが開発した高速なJavaScriptエンジン「V8」を使用しているため、非常に高速です。
    • サーバーサイドの開発に適しており、バックエンドのAPIサーバーやバッチ処理などをJavaScriptで書けるようになります。
  2. 非同期処理とイベント駆動モデル
    • Node.jsは、非同期I/Oを得意としており、リクエスト処理がブロックされないため、高いスケーラビリティを持っています。
    • シングルスレッドですが、効率よく多数のリクエストを捌くことが可能です。
  3. npm(Node Package Manager)
    • Node.jsには、npm(Node Package Manager)という巨大なパッケージエコシステムが付属しており、数十万ものオープンソースライブラリを簡単にインストールして使うことができます。
    • 例えば、WebフレームワークのExpressや、CSSプリプロセッサのSassなど。

Node.js の主な用途

  1. サーバーサイドアプリケーション
    • REST APIやGraphQL APIを構築。
    • WebSocketを使ったリアルタイムアプリケーション(例:チャットアプリやゲーム)。
  2. ツール・スクリプト作成
    • 自動化スクリプトやビルドツール(Webpack、esbuild など)。
    • 開発補助ツール(Prettier、ESLint など)。
  3. フロントエンド開発の補助
    • モダンなフロントエンド開発(React, Vue.js, Angularなど)では、Node.jsを使ってライブラリやフレームワークを管理し、開発環境を構築します。
  4. IoTやデスクトップアプリケーション
    • IoTデバイスの制御。
    • デスクトップアプリケーション開発(Electronを使ってSlackやVS Codeのようなアプリを構築)。

Node.js を使う場面

  • Railsで WebpackerVite を使う場合(フロントエンドのビルドや依存管理)。
  • フロントエンドフレームワーク(React, Vue.js)を使うプロジェクト。
  • REST APIサーバーやリアルタイム通信が必要なプロジェクト。
082p
082p

Node.jsは「サーバーサイドのJavaScript実行環境」であり、フロントエンドとバックエンド両方で活躍できるツールです!

Node Version Manager (NVM)のインストール

NVMを使うと、複数のNode.jsバージョンを簡単に切り替えられるため、開発環境に最適です。
公式ドキュメント通りにインストールします。
ターミナルで以下のコマンドを実行してください。

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

インストールはすぐ終わります。

nvmのバージョン確認

インストールが成功しているか、バージョン確認します。
ターミナルを再起動する必要があります。

nvm -v

2024年12月現在のバージョンは「0.40.1」が入りました。

 % nvm -v
0.40.1

Node.jsのインストール

インストールしたnvmを使ってNode.jsをインストールします。
ターミナルで以下のコマンドを実行してください。

nvm install --lts

これでNode.jsのLTSバージョンがインストールされます。

LTS(Long-Term Support)バージョンとは、特定のソフトウェアのバージョンに対してサポート期間を長く設定したもので、安定性と信頼性が特徴です。

082p
082p

Node.jsのバージョン確認

インストールされているか、ターミナルでバージョン確認します。
2024年12月現在では「v22.12.0」が入りました。

node -v
082p
082p

Node.jsのインストール、お疲れ様でした!
最後までお読みくださり、ありがとうございます!

-JavaScript, Ruby on Rails, プログラミング