JavaScriptの実行環境として広く使われているNode.js。そのNode.jsで開発を行う際に欠かせない存在が「npm(Node Package Manager)」です。npmを使えば、必要なパッケージのインストールや更新、削除が簡単に行え、効率的な開発が可能になります。
この記事では、Linux環境でnpmを利用するための基本的な使い方をわかりやすく解説します。初めてNode.jsやnpmを使う方にも理解できるよう、インストール方法から主要コマンドの使い方まで丁寧にご紹介します。
npmとは「Node Package Manager」の略で、Node.jsのパッケージを管理するためのツールです。Node.jsのインストール時に自動で含まれており、Node.jsプロジェクトで必要なライブラリやツールを手軽にインストール・管理できます。
npmの主な用途には次のようなものがあります:
npmは、世界中の開発者が作成したモジュールを再利用できる巨大なエコシステムを提供しており、フロントエンドからバックエンドまで幅広く活用されています。
Linux環境でnpmを使用するには、まずNode.jsをインストールする必要があります。Node.jsにはnpmが同梱されているため、Node.jsをインストールすれば自動的にnpmも使用可能になります。
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 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 パッケージ名
特定のパッケージをアップデートしたり、すべての依存関係を最新に更新したりすることができます。
npmでプロジェクトを管理する際、package.json
とpackage-lock.json
という2つのファイルが重要になります。
新しいプロジェクトを作成する際には、次のコマンドでpackage.json
を生成できます:
npm init
対話形式で質問に答えることで、必要な情報を設定できます。すべて自動で設定したい場合は-y
オプションを付けて:
npm init -y
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を使っていると、エラーに遭遇することもあります。ここでは、よくあるエラーとその解決法をいくつか紹介します。
グローバルインストール時などに権限エラーが出た場合:
sudo npm install -g パッケージ名
もしくは、グローバルディレクトリの設定を変更して回避する方法もあります。
一度node_modules
とpackage-lock.json
を削除してから再インストールすると改善されることがあります。
rm -rf node_modules package-lock.json
npm install
npm単体でも十分に強力ですが、以下のようなツールと組み合わせることでさらに便利になります。
たとえば、nvmを使えば以下のようにNode.jsのバージョン管理が簡単になります:
nvm install 18
nvm use 18
npmは、Node.js開発において欠かせない存在であり、パッケージのインストール・管理・スクリプト実行など、開発作業を大幅に効率化してくれます。特にLinux環境では、コマンドラインでの操作が前提となるため、基本的な使い方を覚えておくことが重要です。
まずは簡単なプロジェクトを作成し、npm init
から始めてみましょう。そして、必要なライブラリをnpm install
で追加して、Node.jsの世界をより深く楽しんでください。