【Node.js入門】npmとは?パッケージを管理するnpmの基礎的なコマンド一覧

  • 2025.08.29
       
【Node.js入門】npmとは?パッケージを管理するnpmの基礎的なコマンド一覧

Node.jsで使用するパッケージを管理するためのパッケージマネージャーとしてnpmというものが公式に用意されています。
npmでは、様々なコマンドを使用してパッケージの管理を行います。

今回の記事では、npmで使用できる主なコマンドについて、詳しく解説していきたいと思います。

npmとは?

npmは、JavaScriptのパッケージ管理システムの一種で、Node.jsのパッケージを管理するために使用されるパッケージマネージャです。
npmを使用することにより、パッケージのインストールやアップデートなどが簡単に行える他、パッケージ同士の依存関係や競合関係を解決してくれるメリットがあります。

例えば、使用したいパッケージをnpmを使ってインストールすると、依存関係にあるパッケージを自動でダウンロードしてくれるなど、パッケージを管理する上で役立つ便利な機能が備わっています。

また、インストールなどの各操作は、それぞれ対応するコマンドを実行することによって出来るので、複雑な操作を覚える必要がなく、初心者でも気軽に扱うことができます。

Node.jsとnpmの準備をする

パッケージのインストール時に使用する 「npm install」 コマンドで、npm本体をインストールすることで更新可能です。
アップデートするバージョンが最新バージョンで問題ない場合は、「npm update」 コマンドでも更新できます。

なお、Node.jsのバージョンは以下のコマンドで確認ができます。

【実行コマンド】

node --version

「command not found: npm」 といったように、何かしらのエラー文が表示された場合にはインストールや設定が上手くいっていないため、インストールし直すなどして調整しましょう。

バージョンが古いなどの理由でアップデートしたい場合は、以下のコマンドでnpmのバージョン更新ができます。

【実行コマンド】

npm install -g npm

パッケージのインストール時に使用する 「npm install」 コマンドで、npm本体をインストールすることで更新可能です。
アップデートするバージョンが最新バージョンで問題ない場合は、「npm update」 コマンドでも更新できます。

なお、Node.jsのバージョンは以下のコマンドで確認ができます。

【実行コマンド】

node --version

前述したように、Node.jsをインストールすることで自動でnpmもインストールされるため、まだインストールされていない場合は先にインストールしておきましょう。

Node.jsのインストール方法についてはこちらの記事で詳しく解説しています。

npmコマンド一覧

npmには、パッケージ管理を行うための様々なコマンドが用意されています。
それぞれ、順に見ていきましょう。

npm initでパッケージを初期化する

npm init は、プロジェクト開始時などに使用される初期化コマンドです。
このコマンドを実行することで、「package.json」 というファイルがカレントディレクトリ内に生成されます。

【実行コマンド】

npm init

package.jsonには、プロジェクトで使用するパッケージやそのバージョン、パッケージ同士の依存関係などが記述されます。
これにより、プロジェクトを複数の環境で共有する際に、必要なパッケージを容易にインストールできるようになります。

そのため、プロジェクトの新規作成時などには、必ず npm init コマンドを実行しておくようにしましょう。

作成されたpackage.jsonの使い方についてはこちらの記事で詳しく解説しています。併せてお読みください!

npm installで使用するパッケージをインストールする

npmのコマンドの中でも利用頻度が特に高いものの1つが、「npm install」 コマンドです。
使用するパッケージを対象のプロジェクトやグローバル環境にインストールしたい時に、このコマンドを使用します。

installコマンドを実行する際は、以下のように記述します。

【実行コマンド】

npm install パッケージ名

パッケージ名の後ろに 「@」 とバージョンを記述すると、特定のバージョンをインストールすることができます。

例えば、Sequelize というパッケージの 6.37.5 バージョンをインストールしたい場合、次のように記述します。

【実行コマンド】

npm install sequelize@6.37.5

インストール先をローカル環境でなくグローバル環境にしたい場合は、コマンドの記述時に 「-g」 オプションを付与します。

【実行コマンド】

npm install -g パッケージ名

グローバル環境にインストールすることでパスが通され、どのディレクトリからもコマンドを実行できるようになります。

npm uninstallで使用しないパッケージをアンインストールする

反対に、必要がなくなったパッケージなどをアンインストールしたい場合は、「npm uninstall」 コマンドを使用します。

【実行コマンド】

npm uninstall パッケージ名

uninstallの代わりに、「remove」 や 「unlink」 と記述しても同様の結果を得ることができます。

以下のコマンドは全て、アンインストール時に使用できるコマンドです。

【実行コマンド一覧】

npm remove パッケージ
npm r パッケージ
npm rm パッケージ
npm unlink パッケージ
npm un パッケージ

devDependencies (開発用) に記述されたパッケージや、グローバル環境にインストールされたパッケージをアンインストールしたい場合は、それぞれ以下のようにオプションを付けてコマンドを実行します。

【devDependenciesのパッケージをアンインストールする】

npm uninstall -D パッケージ名
npm uninstall --save-dev パッケージ名

【グローバル環境のパッケージをアンインストールする】

npm uninstall -g パッケージ名

npm updateでパッケージを更新する

過去にインストールしたパッケージに新しいバージョンが出ている場合、「update」 コマンドを使用することで最新バージョンに更新することができます。

【実行コマンド】

npm update パッケージ名

パッケージ名を指定せずに実行すると、対象のプロジェクト、もしくはグローバル環境にある全てのアップデート可能なパッケージが最新状態に更新されます。

ただし、1つ注意点として、package.jsonに記載されているバージョンによっては、必ずしも updateコマンドで最新バージョンに更新されるとは限りません。

通常、installコマンドでインストールされたパッケージは、package.jsonに 「^6.10.0」 といった形式でバージョン情報が記載されます。
この場合、updateコマンドでのアップデート対象となるのは、メジャーバージョンが同じものの中での最新バージョンのみとなるため、メージャーバージョンアップしたパッケージが公開されていても更新されることがありません。

また、updateコマンドで更新されるのは package-lock.json と node_module の2つのみで、package.json のバージョン情報は更新されないままとなります。

そのため、ケースによっては、 installコマンドで最新版をインストールして package.jsonを更新するか、「npm-check-updates」 といったような管理用のパッケージを別途インストールして使用する必要があります。

npm outdatedでパッケージの更新を確認する

インストール済みのパッケージに更新可能なバージョンがあるかを確認したい場合は、「npm outdated」 コマンドで確認することができます。

【実行コマンド】

npm outdated

確認後のアップデートに関しては、上述した更新方法を使用して、必要なバージョンを適宜インストールしましょう。

スクリプトを実行するためのnpmコマンド

npmには、package.jsonファイルの 「scripts」 の項目に記述されたスクリプトをコマンドとして実行できる機能 (npm-scripts) が存在します。

ここからは、npm-scriptsの実行時に使用するコマンドについて解説していきます。

npm runでスクリプトを実行する

npm-scriptsを使用する際は、以下のような形式で package.jsonファイルの scriptsの欄に内容を記述します。

【記述例】

"scripts": {
  スクリプト名: 実行内容
}

スクリプトの登録が完了したら、「npm run」 コマンドで指定したスクリプト名を実行することができます。

【実行コマンド】

npm run スクリプト名

これが、npm-scriptsの基本的な使い方です。

npm testでテストを実行する

npm-scriptsには、「npm 〇〇」 の形式で、run を付けずに実行できるいくつかのコマンドがあります。
そのうちの1つが、「test」 コマンドです。

基本的な使い方は先ほど変わらず、package.jsonファイル内でコマンドの実行内容を指定し、「npm test」 で実行します。

デフォルトでは以下のように記述されているので、この内容を任意の処理に変更します。

【記述内容】

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
}

記述内容に特に制限はありませんが、一般的にはデバッグで使用するコマンドを定義することが通例となっています。

npm start/stopでプロジェクトを実行・停止する

同じく、npm-scriptsで run を付けずに実行できるコマンドの中に、「npm start」 コマンドと 「npm stop」 コマンドがあります。

npm start にはプロジェクトを開始するコマンド、npm stop にはプロジェクトを停止するコマンドを指定するのが一般的です。
これまでと同様に、package.jsonで任意の実行内容を記述しておきましょう。

【記述例】

"scripts": {
  "start": 開始コマンド,
  "stop": 停止コマンド
}

パッケージの情報を確認する

npmには、キーワードに一致するパッケージを検索したり、バージョンなどのパッケージ情報を確認することができるコマンドもあります。

順に見ていきましょう。

npm searchでパッケージを検索する

npm searchコマンドを使用すると、npmレジストリ内にあるパッケージを検索することができます。

【実行コマンド】

npm search キーワード(パッケージ名など)

例えば、expressのキーワードで検索すると、次のような結果が表示されます。

【実行結果】

npm search express

express
Fast, unopinionated, minimalist web framework
Version 5.1.0 published 2025-03-31 by wesleytodd
Maintainers: ctcpip jonchurch sheplu ulisesgascon wesleytodd
Keywords: express framework sinatra web http rest restful router app api
https://npm.im/express

@types/express
TypeScript definitions for express
Version 5.0.3 published 2025-06-07 by types
Maintainers: types
https://npm.im/@types/express

swagger-ui-express
Swagger UI Express
Version 5.0.1 published 2024-05-31 by scottie1984
Maintainers: scottie1984
Keywords: swagger express ui json documentation
https://npm.im/swagger-ui-express

...

このように、該当するパッケージに関する情報が一覧で表示されます。

npm info/viewでパッケージの情報を確認する

特定のパッケージの詳しい情報を知りたい場合は、「npm info」 コマンドで確認することができます。
もしくは、「npm view」 や 「npm show」 でも同様の結果が得られます。

【実行コマンド】

npm info パッケージ名
npm view パッケージ名
npm show パッケージ名

実行すると、以下のように様々な情報が表示されます。

【実行例】

npm info express

express@5.1.0 | MIT | deps: 27 | versions: 283
Fast, unopinionated, minimalist web framework
https://expressjs.com/

keywords: express, framework, sinatra, web, http, rest, restful, router, app, api

dist
.tarball: https://registry.npmjs.org/express/-/express-5.1.0.tgz
.shasum: d31beaf715a0016f0d53f47d3b4d7acf28c75cc9
.integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==
.unpackedSize: 197.0 kB

dependencies:
accepts: ^2.0.0      finalhandler: ^2.1.0 qs: ^6.14.0          
body-parser: ^2.2.0  fresh: ^2.0.0        range-parser: ^1.2.1 
content-type: ^1.0.5 http-errors: ^2.0.0  router: ^2.2.0       
cookie: ^0.7.1       mime-types: ^3.0.0   send: ^1.1.0         
debug: ^4.4.0        on-finished: ^2.4.1  serve-static: ^2.2.0 
encodeurl: ^2.0.0    once: ^1.4.0         statuses: ^2.0.1     
escape-html: ^1.0.3  parseurl: ^1.3.3     type-is: ^2.0.1      
etag: ^1.8.1         proxy-addr: ^2.0.7   vary: ^1.1.2         
(...and 3 more.)

maintainers:
- ctcpip <c@labsector.com>
- jonchurch <npm@jonchurch.com>
- sheplu <jean.burellier@gmail.com>
- ulisesgascon <ulisesgascondev@gmail.com>
- wesleytodd <wes@wesleytodd.com>

dist-tags:
latest-4: 4.21.2  latest: 5.1.0     

published 4 months ago by wesleytodd <wes@wesleytodd.com>

npm publishでパッケージを公開する

既存のパッケージを使用するだけでなく、自身でパッケージを作成して公開したいというケースも中にはあるかと思います。
その際に使用するのが、「npm publish」 コマンドです。

npm publishは、作成した Node.jsプロジェクトを npmレジストリに公開するためのコマンドです。
使用時の注意点として、公開するパッケージは gitの管理下にある必要があるので、事前にリポジトリを作成しておきましょう。

また、コマンドを実行すると、エラーが発生しない限りはそのまま内容がすぐに公開されてしまうため、テストや設定ファイルの記述内容などの事前確認はしっかり行なっておきましょう。

なお、コマンド実行時から72時間以内であれば、「npm unpublish」 コマンドで公開内容を取り消すことができます。

npmコマンドでよく使われるオプション

npmでは、パッケージのインストール時などによく使用されるオプションがいくつかあります。

1つは、「-g」 オプションです。
installコマンドの解説時にも少し触れたように、パッケージのインストールや更新などをグローバル環境下で行うためのオプションです。

グローバル環境とは、各プロジェクトのディレクトリ (ローカル環境) ではなく、npmの設定でインストール先に指定されているディレクトリのことを指します。
インストールしたパッケージはいずれも、ディレクトリの直下に作成される node_moduleディレクトリ内に保存されますが、オプションの有無でどのディレクトリ直下の node_moduleに保存されるかが決まります。

グローバル環境にインストールされたパッケージは自動でパスが通されるため、手動でパスを設定する必要がなく、どのディレクトリからもパッケージが使用できるようになります。

-g オプションを実行した際のインストール先は、以下のコマンドで確認することができます。

【実行コマンド】

npm root -g

また、npmの設定で prefixの項目にファイルパスを指定することで、グローバル環境を任意のディレクトリに設定することができます。

【実行コマンド】

npm config get prefix=ファイルパス

指定したディレクトリにPATHが通っていない場合は、環境変数に追加しておきましょう。

【実行コマンド】

export PATH=$PATH:ファイルパス
source ~/.profile

npmでよく使用されるオプションのもう1つは、「–save-dev」 オプションです。
–save-devオプションとは、パッケージのインストール時に、開発用としてローカル環境に保存する場合に使用するオプションです。

通常、installコマンドでパッケージをプロジェクトに追加すると、package.jsonファイルの 「dependencies」 の項目に依存関係にあるパッケージとして記録されます。
一方、–save-devオプションを付けてインストールしたパッケージは、dependenciesではなく、「devDependencies」 という項目に記録されます。

作成したプロジェクトをパッケージとしてレジストリに公開した場合、–save-devオプションを付けてインストールしたパッケージは、installコマンドを実行した際の一括インストール対象に含まれなくなります。
そのため、プロジェクト開発時にのみ必要なパッケージをインストールする際に、このオプションを使用します。

まとめ

今回は、npmのコマンドについて解説してきました。

種類が多く、一度に覚えるのは大変かと思いますが、いずれもよく使用されるものばかりです。
ぜひ、この記事も参考にしながら、実際の開発に役立ててみてください。

Node.jsの勉強方法は?

書籍やインターネットで学習する方法があります。昨今では、YouTubeなどの動画サイトやエンジニアのコミュニティサイトなども充実していて多くの情報が手に入ります。
そして、より効率的に知識・スキルを習得するには、知識をつけながら実際に手を動かしてみるなど、インプットとアウトプットを繰り返していくことが重要です。特に独学の場合は、有識者に質問ができたりフィードバックをもらえるような環境があると、理解度が深まるでしょう。

ただ、Node.jsに限らず、ITスキルを身につける際どうしても課題にぶつかってしまうことはありますよね。特に独学だとわからない部分をプロに質問できる機会を確保しにくく、モチベーションが続きにくいという側面があります。独学でモチベーションを維持する自信がない人にはプログラミングスクールという手もあります。費用は掛かりますが、その分スキルを身につけやすいです。しっかりと知識・スキルを習得して実践に活かしたいという人はプログラミングスクールがおすすめです。

プログラミングスクールならテックマニアがおすすめ!

ITスキル需要の高まりとともにプログラミングスクールも増えました。しかし、どのスクールに通うべきか迷ってしまう人もいるでしょう。そんな方にはテックマニアをおすすめします!これまで多くのITエンジニアを育成・輩出してきたテックマニアでもプログラミングスクールを開講しています。

<テックマニアの特徴>
・たしかな育成実績と親身な教育 ~セカンドキャリアを全力支援~
・講師が現役エンジニア ~“本当”の開発ノウハウを直に学べる~
・専属講師が学習を徹底サポート ~「わからない」を徹底解決~
・実務ベースでスキルを習得 ~実践的な凝縮カリキュラム~

このような特徴を持つテックマニアはITエンジニアのスタートラインとして最適です。
話を聞きたい・詳しく知りたいという方はこちらからお気軽にお問い合わせください。

     

Otherカテゴリの最新記事