Node.js プロジェクトのバージョン管理: package-lock.json ファイルの役割
Node.js プロジェクトで package.json の依存関係をインストールする方法
npm は、Node.js のパッケージマネージャーであり、package.json
ファイルに基づいて依存関係をインストールしたり管理したりするのに役立ちます。
依存関係をインストールする
以下の手順で、現在のディレクトリにある package.json
ファイルの依存関係をインストールすることができます。
- ターミナルを開き、プロジェクトのディレクトリに移動します。
- 以下のコマンドを実行します。
npm install
このコマンドは、package.json
ファイルにあるすべての依存関係を node_modules
ディレクトリにインストールします。
オプション
- 特定のバージョンのモジュールをインストールするには、
--save
オプションとバージョン番号を指定します。
npm install [email protected] --save
- 開発環境でのみ必要なモジュールをインストールするには、
--dev
オプションを使用します。
npm install mocha --dev
- 依存関係をグローバルにインストールするには、
-g
オプションを使用します。
npm install -g nodemon
ロックファイル
npm 5.x 以降では、package-lock.json
ファイルが生成されます。このファイルは、インストールされた依存関係の正確なバージョンを記録します。
package-lock.json
ファイルは、プロジェクトを他の開発者と共有したり、異なる環境でプロジェクトをデプロイしたりする場合に役立ちます。
デプロイメント
Node.js プロジェクトをデプロイするには、いくつかの方法があります。
- Heroku や AWS Lambda などのクラウドサービスを使用する
- Nginx や Apache などのウェブサーバーを使用して、プロジェクトをローカルで実行する
- Docker を使用して、プロジェクトをコンテナ化してデプロイする
デプロイ方法は、プロジェクトの要件によって異なります。
package.json
ファイルと npm を使用して、Node.js プロジェクトに必要な依存関係を簡単にインストールすることができます。
package-lock.json
ファイルは、プロジェクトの依存関係のバージョンを管理するのに役立ちます。
package.json
{
"name": "my-project",
"version": "1.0.0",
"description": "A simple Node.js project",
"main": "index.js",
"dependencies": {
"express": "^4.17.1"
},
"devDependencies": {
"mocha": "^8.4.0"
}
}
index.js
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello, World!');
});
app.listen(3000, () => {
console.log('Server listening on port 3000');
});
このプロジェクトを実行するには、以下のコマンドを実行します。
npm install
次に、以下のコマンドを実行してプロジェクトを起動します。
node index.js
このコマンドは、index.js
ファイルを実行し、Express サーバーをポート 3000 で起動します。
ブラウザで http://localhost:3000
を開くと、「Hello, World!」というメッセージが表示されます。
補足
このサンプルコードは、Node.js プロジェクトの基本的な構成を示しています。
実際のプロジェクトでは、より多くのモジュールを使用したり、より複雑なコードを書いたりする可能性があります。
依存関係のバージョン管理
バージョン番号には、^
や ~
などの記号を使用することができます。
これらの記号は、インストールされるモジュールのバージョンの範囲を指定します。
例
"express": "^4.17.1"
: 4.17.1 以降の最新バージョンのexpress
モジュールがインストールされます。
デプロイ
このサンプルコードは、ローカルで実行することを目的としています。
プロジェクトを本番環境にデプロイするには、Heroku や AWS Lambda などのクラウドサービスを使用することができます。
Node.js プロジェクトをデプロイする他の方法
手動デプロイ
- プロジェクトのファイルをサーバーにアップロードします。
- サーバー上で
npm install
コマンドを実行して、依存関係をインストールします。
PM2 を使用
- PM2 をインストールします。
npm install pm2 -g
- プロジェクトを起動します。
pm2 start index.js
pm2 list
pm2 stop index.js
Docker は、コンテナ化されたデプロイ方法を提供します。Docker を使用すると、プロジェクトとその依存関係を 1 つのコンテナにパッケージ化して、Docker をサポートする任意の環境で実行することができます。
FROM node:16
WORKDIR /app
COPY package.json .
RUN npm install
COPY . .
CMD ["node", "index.js"]
- コンテナイメージをビルドします。
docker build -t my-project .
- コンテナを実行します。
docker run -p 3000:3000 my-project
クラウドサービス
Heroku や AWS Lambda などのクラウドサービスを使用すると、プロジェクトを簡単にデプロイして管理することができます。
各サービスには、独自のデプロイ方法があります。詳細は、各サービスの公式ドキュメントを参照してください。
deployment node.js dependencies