Skip to main content

専用サーバー:WindowsでNode.jsをセットアップ

このガイドは、以下の製品を使用して作成されました:

(詳細はプロバイダーごとの製品によって異なる場合がありますが、基本的な概念は同じです)

はじめに

Node.jsはクロスプラットフォームのオープンソースJavaScriptランタイム環境で、ブラウザの外、例えばサーバーやコマンドラインツール上でJavaScriptコードを実行します。V8エンジンをベースにしており、非同期かつイベント駆動型のI/Oをサポートするため、スケーラブルなネットワークやリアルタイムアプリケーションの構築に非常に効率的です。

「JavaScriptをどこでも使う」パラダイムにより、開発者はバックエンドとフロントエンドの両方で同じ言語を使えます。

準備

Node.jsをセットアップする前に、システムの準備が必要です。これにはOSを最新バージョンにアップデートし、必要な依存関係をすべてインストールすることが含まれます。これらの準備は安定した環境を保証し、インストール中やインストール後の問題を防ぎます。

システムのアップデート

最新のソフトウェアとセキュリティ改善を適用するため、まずはシステムのアップデートを行いましょう。以下のコマンドを実行してください:

sudo apt update && sudo apt upgrade -y

これにより、最新のセキュリティパッチとソフトウェアバージョンが適用されます。

依存関係のインストール

アップデートが完了したら、依存関係のインストールに進みます。Node.jsはDockerコンテナ群を使ってマシン上に展開・実行されるため、まずDockerをインストールする必要があります。以下のコマンドを実行してください:

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Dockerのインストール手順や使い方の詳細は、当社のDockerガイドでご確認いただけます。

インストール

必要な準備が整ったら、Node.jsアプリケーションのインストールに進みましょう。

Node.jsを隔離された環境で使うには、まず公式のAlpineベースのイメージをダウンロードします。以下のコマンドで最新のNode.js 22イメージを取得し、コンテナ展開に使えるようにします:

docker pull node:22-alpine

次に、このイメージを使ってコンテナを起動し、シェルセッションを開きます。インタラクティブなシェルでコンテナを起動するには以下のコマンドを使います。--rmオプションは終了時にコンテナを自動削除し、ホスト環境をクリーンに保ちます。

docker run -it --rm --entrypoint sh node:22-alpine

コンテナ内でnode -vを実行し、v22.19.0が表示されることを確認してください。npm -vを実行すると10.9.3が表示され、Node.jsとnpmの正しいバージョンが使えることがわかります。

設定

Node.jsコンテナを起動したら、環境内で基本的なNode.js設定を行うのがおすすめです。よくある方法は環境変数の定義です。例えば:

export NODE_ENV=production

これで本番モードが有効になり、パフォーマンス最適化やログ出力の調整が行われます。開発時はNODE_ENV=developmentに設定すると、詳細なエラーメッセージやデバッグ機能が利用できます。

プロジェクトディレクトリは整理された構成が重要で、まずは以下のコマンドで設定ファイルを作成します:

npm init -y

これによりpackage.jsonファイルが生成され、依存関係やスクリプト、メタデータが定義されます。Node.jsアプリの中心的な設定ファイルです。

依存関係はnpm install <package>で、開発用依存関係はnpm install <package> --save-devで追加します。package.jsonscriptsセクションでは、npm startnpm run buildなどのカスタムコマンドを定義でき、実行やプロジェクト管理が楽になります。

さらに高度な設定では、.npmrc.nvmrcファイルを使い、プライベートレジストリの設定やキャッシュオプション、特定のNode.jsバージョンの強制などが可能です。これにより異なる環境間でも一貫した動作を保証できます。

まとめと追加リソース

おめでとうございます!これで専用サーバーにNode.jsを無事インストール・設定できました。さらにサーバー設定の参考になる以下のリソースもぜひチェックしてください。

ここにない具体的な質問があれば、いつでもサポートチームにお問い合わせください。毎日対応しているので気軽にどうぞ!🙂