Categories: linux

npmとは?Node.jsでのパッケージ管理をLinuxで始めるための基本ガイド

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.jsonpackage-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.jsonpackage-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_modulespackage-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の世界をより深く楽しんでください。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。