npm でパッケージをインストールする方法を初心者向けにわかりやすく解説
はじめに
npmは、Node.jsの世界では欠かせないパッケージ管理ツールです。
さまざまな機能を持つパッケージを簡単に取得・更新できるため、プログラミング初心者でも開発をスムーズに進めやすくなります。
しかし、npmを初めて使う際は「何をどうインストールしたらいいのか」「環境はどう整えればいいのか」と悩んでしまうこともあるのではないでしょうか。
そこでこの記事では、npmでパッケージをインストールする基本的な手順から、実務との関連、よくあるトラブルへの対処法までを順序立てて解説します。
パソコン初心者やプログラミング未経験の方でも理解しやすいように、専門用語はできるだけ噛み砕きながら進めていきます。
ぜひ最後まで読み進めていただき、npmを使ったパッケージ管理の全体像を把握してみてください。
この記事を読むとわかること
- npmとは何か
- npmを使うために必要な基本環境の準備方法
- パッケージをインストールする手順 (ローカル・グローバル)
- 実務レベルで役立つnpm活用例
- よくあるエラーやトラブルの対処法
npmとは何か
npmは、Node.js用のパッケージマネージャです。
パッケージとは、簡単にいうとプログラムの部品のようなもので、誰かが開発した便利な機能やツールがまとまったものです。
npmはそれらのパッケージをオンライン上のリポジトリから取得し、自分のプロジェクトで使えるようにするための仕組みを提供します。
npmという名称は "Node Package Manager" の頭文字から来たと言われることがあります。
ただし公式の由来は諸説ありますが、実際にはあまり深く気にしなくても大丈夫です。
重要なのは、npmを通じてパッケージをインストールしたり更新したりできるという点です。
npmを活用すると、自分でゼロから機能を作らなくても、多くの既存ライブラリを取り入れやすくなります。
たとえば、画面上にグラフを描画する機能や、特定のデータ形式を変換する機能なども、npmから取得したパッケージを使えばあっという間にプロジェクトに組み込めます。
npmを使うための前提知識
npmは基本的に、Node.jsをインストールすれば自動的に使える状態になります。
そのため、まずはNode.jsのインストールを正しく行う必要があります。
また、コマンド操作(ターミナルやコマンドプロンプトで文字入力して操作すること)にある程度慣れておくとスムーズです。
Node.jsやnpmをインストールした後は、ターミナルで node -v
や npm -v
と入力して、バージョン情報が表示されるかどうかを確認します。
これが動作確認として最初にやるべき簡単なチェックです。
Node.jsのインストール
Node.jsは公式サイトからダウンロードできます。
Windows、macOS、Linuxなど主要なOS向けにインストーラが用意されているので、自分のOSに合ったファイルを入手してインストールしてください。
インストーラで進めるだけで、基本的に面倒な設定は不要な場合がほとんどです。
インストールの流れ (Windowsの例)
- 公式サイトからインストーラをダウンロード
- インストーラを起動し、ライセンスに同意して「Next」を押す
- インストール場所を確認して「Next」を押す
- 「Install」を押してインストール開始
- 完了後、「Finish」を押して終了
インストールが終わったら、ターミナルかコマンドプロンプトで node -v
を打ってみましょう。
バージョン番号が表示されれば、Node.jsが正しくインストールされています。
npm のバージョン確認
Node.jsに同梱されているnpmのバージョン確認は npm -v
でできます。
これも正しく表示されれば準備は完了です。
npmのバージョンに大きな違いがある場合、コマンドや動作が若干変わる可能性がありますが、初心者向けの基本的な操作はあまり変わりません。
npmはパッケージを管理する機能がメインなので、バージョンアップによって細かい点が異なることはありますが、まずはインストールして動かす段階では深く考えずに進めても問題ないでしょう。
npmでパッケージをインストールする方法
npmを使ったパッケージのインストールは大きく分けてローカルインストールとグローバルインストールの2種類があります。
使い分け方によって、パッケージを適用したい範囲やプロジェクト管理方法が変わってきます。
ローカルインストール
ローカルインストールとは、特定のプロジェクトフォルダ内でのみ使用できるようにパッケージをインストールする方法です。
普段のWebアプリ開発や、ある特定のアプリケーションでだけ使いたいライブラリは、ローカルインストールで十分な場合が多いです。
- パッケージを使いたいプロジェクトフォルダへ移動する
- ターミナルで
npm install <パッケージ名>
を実行する - プロジェクトフォルダに
node_modules
というフォルダができ、パッケージが格納される package.json
に依存関係が追記される
これで完了です。
あとは require
や import
などの書き方で、そのパッケージをプロジェクトのコードに組み込みましょう。
グローバルインストール
グローバルインストールは、OS全体に対してパッケージをインストールしてしまう方法です。
コマンドラインツールを使いたい場合や、どのフォルダからでも呼び出したいパッケージを使う場合に便利です。
コマンドは、たとえば npm install -g <パッケージ名>
のように実行します。
ここで -g
は「global(グローバル)」オプションを意味しています。
グローバルインストールすると、どのディレクトリにいてもそのコマンドが呼び出せるようになるので、ツール系のパッケージでよく利用されます。
ただし、多用するとシステム全体に影響を与えやすく、バージョン管理が難しくなるケースもあるため、基本的にはローカルインストールを優先的に検討した方が良いでしょう。
セーブオプション(--save, --save-devなど)
npmでインストールする際、かつては npm install --save <パッケージ名>
のように書くことが一般的でした。
しかし現在は、単に npm install <パッケージ名>
と入力するだけでも、package.json
に依存関係が追加される仕組みになっています。
一方、開発時にだけ使うパッケージを区別したい場合は、--save-dev
オプションを付けて npm install --save-dev <パッケージ名>
のように入力します。
これはテストツールやビルドツールなど、本番環境では動かす必要がないパッケージを整理しておくために役立ちます。
実務で役立つnpmの活用シーン
npmは、さまざまな現場で使われており、Web開発だけにとどまりません。
実際のプロジェクトでどのようにnpmが活用されるか、イメージをつかんでみましょう。
既存プロジェクトでの活用例
とあるプロジェクトで新機能を追加しようと考えたとき「既存パッケージを再利用すれば、すでに実装された便利な機能があるかもしれない」と検討することがあります。
npmのリポジトリを探すと、同様の機能を提供するパッケージがいくつも見つかることも多いです。
そうした既存パッケージをローカルにインストールし、自分たちのコードに組み込みます。
結果として開発工数を削減し、品質を高めることに貢献するケースは珍しくありません。
Node.jsプロジェクトにおける依存関係管理
Node.jsを使ったサーバーサイド開発でも、npmは標準的に使われます。
Webフレームワークやデータベース接続用のライブラリなど、さまざまなパッケージをnpm経由で導入します。
その際には package.json
と呼ばれるファイルを元に、プロジェクトの依存パッケージがまとめて管理されます。
チームで同じプロジェクトを開発する場合でも、package.json
と package-lock.json
を共有すれば、ほかのメンバーも同じバージョンのパッケージ群をインストールできる仕組みです。
npmでは、依存関係の複雑なプロジェクトでもバージョンを固定して管理できます。
これにより再現性の高い環境構築が期待できます。
インストール時のトラブルシューティング
npmは便利な反面、環境や設定によってはエラーが起きる場合があります。
ここでは多くの初心者がつまずきやすいトラブルと、その対策を紹介します。
パーミッションエラーの対策
グローバルインストールを行う際、「EACCES」や「Permission denied」 といったメッセージが表示されることがあります。
これはファイルやフォルダへのアクセス権が足りないために発生している可能性があります。
- コマンドを管理者権限(Windowsなら「管理者として実行」)で実行してみる
- macOSやLinuxであれば
sudo
を使ってみる - それでもダメな場合は、Node.jsのインストール方法を見直すか、nvmなどのバージョン管理ツールの活用を検討する
ただし sudo
は安易に使うと別の問題が発生することもあるので、まずは本当に権限が必要なのかをよく確認しましょう。
ネットワークエラーの対処
npmでパッケージをダウンロードしている途中に回線が不安定になると、ETIMEDOUT や ECONNRESET などのエラーが出る場合があります。
これはネットワークが原因の場合が多く、一時的に通信状態が悪いときに起こりやすいです。
- 時間をおいて再度インストールを試す
- VPN接続やProxy設定がある場合は一度オフにしてみる
- 回線速度を改善できる環境へ移動して試す
こうしたシンプルな対処で解消されることも多いです。
よく使うnpmコマンド
npmを使いこなすうえで覚えておきたいコマンドは多岐にわたります。
ここでは初心者がまず押さえておきたいものを見ていきましょう。
npm init
新規プロジェクトを開始するとき、npm init
コマンドで package.json
を作成するのが定番です。
いくつかの質問に答えるだけで、プロジェクト名やバージョン情報などを含む package.json
ファイルが自動で生成されます。
例: npm init -y
オプション -y
を付けると、質問に答える手間をスキップしてデフォルト設定で package.json
を生成してくれます。
npm install
前述のとおり、npm install <パッケージ名>
でパッケージをローカルにインストールします。
プロジェクト内にすでに package.json
がある状態で npm install
とだけ入力すると、package.json
に書かれた依存パッケージを一括インストールできます。
npm i
と短縮形で書かれることもありますが、動作は同じです。- バージョンを指定したいときは
npm install <パッケージ名>@<バージョン番号>
のように書くことができます。
npm run
npm run <スクリプト名>
で、package.json
内の "scripts"
セクションに定義した任意のコマンドを実行できます。
たとえば "scripts": { "start": "node index.js" }
と書いておけば、ターミナルで npm run start
を打つだけで node index.js
が実行される仕組みです。
- テストのために
"test": "echo Hello Test!"
と書いておけば、npm test
でも実行できます。 - 複数のスクリプトをまとめて実行するなど、開発に必要なタスクを一元管理できるのがメリットです。
パッケージ管理のベストプラクティス
npmによるパッケージ管理を円滑に行うためには、いくつかのポイントを意識しておくと良いでしょう。
package.jsonの活用
package.json
はnpmの心臓部ともいえます。
ここには、プロジェクトで利用しているパッケージ名やバージョン、さらに作者情報などが定義されています。
複数人が同じプロジェクトを開発する場合、package.json
はチーム全員で共有されます。
また、package-lock.json
によって依存関係の正確なバージョンを固定できるため、他のメンバーがプロジェクトを引き継いでも、npm install
さえ実行すれば同じ環境を再現できるのが利点です。
node_modulesフォルダの扱い方
npmでインストールしたパッケージ本体は、プロジェクト内の node_modules
フォルダに格納されます。
フォルダのサイズが大きくなることも珍しくありませんが、手動でファイルをいじるのはトラブルのもとです。
もしプロジェクトを別のPCに移行する際は、node_modules
フォルダをまるごとコピーするよりも、package.json
と package-lock.json
をコピーして、移行先で npm install
する方法が推奨されます。
これにより不要なファイルや異なるOS向けのバイナリを持ち込まずに、きれいな環境を構築できます。
大切なプロジェクトであっても、node_modules
フォルダを削除してしまって問題ない場面は多いです。
ただし、後で再インストールすれば同じ環境を再現できることを理解しておきましょう。
まとめ
npmを使うことで、Node.jsプロジェクトを中心に多くのパッケージやライブラリを簡単に利用できるようになります。
初心者の段階では「ローカルインストールを使う」「グローバルインストールはツール用」「package.jsonやpackage-lock.jsonでバージョンや依存関係を管理する」という基本を押さえておけば十分に実践で役立つでしょう。
もしエラーが出たとしても、権限やネットワークが原因となるケースが多いので、あわてず対処方法を確認してみてください。
npmはプログラミング未経験の方にとっても、便利なライブラリやツールをすぐ試せる手段です。
これをきっかけに、さまざまなパッケージを試しながら学習を進めてみてはいかがでしょうか。