JavaScriptの実行環境として広く使われているNode.js。そのNode.jsで開発を行う際に欠かせない存在が「npm(Node Package Manager)」です。npmを使えば、必要なパッケージのインストールや更新、削除が簡単に行え、効率的な開発が可能になります。
この記事では、Linux環境でnpmを利用するための基本的な使い方をわかりやすく解説します。初めてNode.jsやnpmを使う方にも理解できるよう、インストール方法から主要コマンドの使い方まで丁寧にご紹介します。
npmとは何か?
npmとは「Node Package Manager」の略で、Node.jsのパッケージを管理するためのツールです。Node.jsのインストール時に自動で含まれており、Node.jsプロジェクトで必要なライブラリやツールを手軽にインストール・管理できます。
npmの主な用途には次のようなものがあります:
- 外部ライブラリ(パッケージ)のインストール
- 依存関係の管理
- プロジェクトの構成とスクリプト管理
- 独自パッケージの公開
npmは、世界中の開発者が作成したモジュールを再利用できる巨大なエコシステムを提供しており、フロントエンドからバックエンドまで幅広く活用されています。
Linuxでnpmをインストールする方法
Linux環境でnpmを使用するには、まずNode.jsをインストールする必要があります。Node.jsにはnpmが同梱されているため、Node.jsをインストールすれば自動的にnpmも使用可能になります。
Ubuntu/Debian系の場合
sudo apt update
sudo apt install nodejs npm
この方法でインストールすると、比較的安定したバージョンがインストールされますが、最新版が必要な場合はNodeSourceのリポジトリを利用する方法がおすすめです:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
バージョン確認コマンド:
node -v
npm -v
npmの基本コマンドの使い方
npmには多くの便利なコマンドがありますが、ここではよく使われる基本的なものを紹介します。
パッケージのインストール
npm install パッケージ名
例:
npm install express
プロジェクト内のnode_modules
ディレクトリにインストールされ、package.json
とpackage-lock.json
が更新されます。
グローバルインストール
開発ツールなどをグローバルに使いたい場合:
sudo npm install -g パッケージ名
例:
sudo npm install -g nodemon
パッケージのアンインストール
npm uninstall パッケージ名
例:
npm uninstall express
パッケージのアップデート
npm update パッケージ名
特定のパッケージをアップデートしたり、すべての依存関係を最新に更新したりすることができます。
package.jsonとpackage-lock.jsonの役割
npmでプロジェクトを管理する際、package.json
とpackage-lock.json
という2つのファイルが重要になります。
- package.json:プロジェクトの基本情報(名前、バージョン、依存関係、スクリプトなど)を記述するファイルです。
- package-lock.json:依存パッケージの正確なバージョンを記録しておくファイルで、プロジェクトの再現性を確保するのに役立ちます。
新しいプロジェクトを作成する際には、次のコマンドでpackage.json
を生成できます:
npm init
対話形式で質問に答えることで、必要な情報を設定できます。すべて自動で設定したい場合は-y
オプションを付けて:
npm init -y
スクリプトを活用したnpmの自動化
npmでは、package.json
にスクリプトを定義することで、よく使うコマンドを簡略化できます。
{
"scripts": {
"start": "node app.js",
"dev": "nodemon app.js",
"test": "echo \"Error: no test specified\" && exit 1"
}
}
これにより、次のようにコマンドを実行できます:
npm run start
npm run dev
定義されたスクリプト名を使って、毎回長いコマンドを入力しなくてもよくなります。
よくあるエラーとその対処法
npmを使っていると、エラーに遭遇することもあります。ここでは、よくあるエラーとその解決法をいくつか紹介します。
EACCES: permission denied
グローバルインストール時などに権限エラーが出た場合:
sudo npm install -g パッケージ名
もしくは、グローバルディレクトリの設定を変更して回避する方法もあります。
npm install時に依存関係が壊れている
一度node_modules
とpackage-lock.json
を削除してから再インストールすると改善されることがあります。
rm -rf node_modules package-lock.json
npm install
npmと一緒に使いたい便利ツール
npm単体でも十分に強力ですが、以下のようなツールと組み合わせることでさらに便利になります。
- nvm:複数のNode.jsバージョンを簡単に切り替え可能
- nodemon:ファイルの変更を監視し、自動でアプリを再起動してくれる開発支援ツール
- eslint:コードの品質を保つための静的解析ツール
たとえば、nvmを使えば以下のようにNode.jsのバージョン管理が簡単になります:
nvm install 18
nvm use 18
まとめ
npmは、Node.js開発において欠かせない存在であり、パッケージのインストール・管理・スクリプト実行など、開発作業を大幅に効率化してくれます。特にLinux環境では、コマンドラインでの操作が前提となるため、基本的な使い方を覚えておくことが重要です。
まずは簡単なプロジェクトを作成し、npm init
から始めてみましょう。そして、必要なライブラリをnpm install
で追加して、Node.jsの世界をより深く楽しんでください。