Node.js開発でハマりがちなnpmパッケージのバージョン問題を解決する方法
Node.js、パッケージ、npm とは?
インストールされた npm パッケージのバージョンを確認する方法
方法1: npm list コマンドを使う
npm list
コマンドは、インストールされているすべてのパッケージとそのバージョンの一覧を表示します。
$ npm list
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
└──┬ [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
npm version
コマンドは、指定されたパッケージのバージョンを表示します。
$ npm version express
4.17.1
方法3: package.json ファイルを確認する
package.json
ファイルは、プロジェクトで使用しているパッケージとそのバージョンの情報を記述したファイルです。このファイルを開いて、探しているパッケージのバージョンを確認することができます。
{
"name": "my-project",
"version": "1.0.0",
"description": "My project",
"main": "index.js",
"dependencies": {
"express": "^4.17.1",
"socket.io": "^4.0.4"
}
}
上記の3つの方法を使って、インストールされている npm パッケージのバージョンを確認することができます。
補足
npm list
コマンドは、オプションを指定することで、表示内容を詳細にしたり、特定のパッケージのみを表示したりすることができます。詳細はnpm list --help
を実行してください。npm version
コマンドは、オプションを指定することで、パッケージのバージョン履歴を表示したり、特定のバージョンの情報を
const { exec } = require('child_process');
exec('npm list', (err, stdout, stderr) => {
if (err) {
console.error(err);
return;
}
console.log(stdout);
});
このコードを実行すると、以下のような出力が得られます。
├─┬ [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ ├── [email protected]
│ └── [email protected]
└──┬ [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
補足
- 上記のコードは、Node.js v14.17.0 で動作確認しています。
インストールされた npm パッケージのバージョンを確認する他の方法
方法4: npm-check-updates パッケージを使う
npm-check-updates
パッケージは、インストールされているパッケージの最新バージョンと現在のバージョンを比較して、更新が必要なパッケージを表示するツールです。
$ npm install --global npm-check-updates
$ ncu
Name | Current | Wanted | Latest | Location
------- | -------- | -------- | -------- | --------
express | 4.17.1 | 4.17.1 | 4.17.1 | /home/user/project/node_modules/express
socket.io | 4.0.4 | 4.0.4 | 4.0.4 | /home/user/project/node_modules/socket.io
これらの Web サイトでは、パッケージ名で検索することで、パッケージの情報とそのバージョンを確認することができます。
補足
- 上記の方法のどれを選択するかは、状況や目的に応じて決定してください。
npm list
コマンドは、最も基本的な方法ですが、オプションを指定することで、さまざまな情報を表示することができます。package.json
ファイルは、プロジェクトで使用しているパッケージとそのバージョンの情報を
node.js package npm