npm(エヌ・ピー・エム、Node Package Manager)とは、JavaScriptのプログラム部品(パッケージ)を管理するための仕組みです。世界中の開発者が作った便利な部品を、コマンド1つで自分のプロジェクトに取り込んだり、逆に自分の作った部品を公開したりできます。Node.jsという実行環境に標準で付いてきます。
現実世界でいえば、料理の取り寄せ食材の宅配サービスのようなものです。だしやソースを一から手作りしなくても、注文すれば出来合いの材料が届きます。npmも同じで、よくある機能を自分で作らずに、公開されている部品を取り寄せて組み込めます。
npmの仕組み
npmには、世界中の開発者が公開したパッケージが集まるレジストリ(登録庫)があります。開発者は「このパッケージが欲しい」と指定するだけで、必要な部品と、その部品がさらに必要とする関連部品まで自動でまとめて取り込めます。使うパッケージの一覧はpackage.jsonというファイルに記録され、チームの誰もが同じ環境を再現できます。
npmでできること
npmは、単に部品を取り込むだけでなく、開発全体を助けるさまざまな役割を持ちます。
| できること | 説明 |
|---|---|
| パッケージの導入 | 公開された部品を、コマンド1つで自分のプロジェクトに取り込める。 |
| バージョン管理 | どのパッケージのどの版を使うかを記録し、環境を再現できる。 |
| パッケージの公開 | 自分で作った部品を、世界中の開発者に向けて公開・共有できる。 |
| スクリプト実行 | 開発でよく使う作業(起動・テストなど)をコマンドとして登録・実行できる。 |
npmのメリット
npmは、JavaScript開発に欠かせない存在です。
- 開発が速くなる
よくある機能を自分で作らず、公開された部品を使えるため、開発時間を短縮できます。 - 環境をそろえられる
package.jsonがあれば、チーム全員が同じ部品・同じ版で開発できます。 - 膨大な部品が使える
世界最大級のパッケージ登録庫があり、あらゆる用途の部品が見つかります。
npmを使ううえでの注意点
便利な反面、注意も必要です。公開されている部品の中には、品質の低いものや、悪意のあるコードが混ざったものもまれにあります。信頼できるパッケージを選ぶこと、そしてセキュリティ上の問題が見つかった部品は早めに更新することが大切です。なお、npmと似た役割のツールにyarn(ヤーン)やpnpmもあります。
あわせて知っておきたい用語
- Node.js:
JavaScriptをサーバー側で動かす実行環境。npmが標準で付属しています。 - JavaScript:
Webサイトやアプリで広く使われるプログラミング言語です。 - パッケージ:
再利用できるようにまとめられたプログラム部品。npmで取り込めます。 - package.json:
使うパッケージやその版を記録する設定ファイルです。 - ライブラリ:
よく使う機能をまとめた部品集。npmで配布されるものが多くあります。

コメント