npm とは|JavaScript の部品を配り、取り寄せるサービス
npm は、JavaScript の部品(パッケージ)を配り、取り寄せるための仕組みです。Web サイト・命令行のツール・登録簿の3つからできていて、Node.js に最初から付いてきます。
- 分類
- プログラミング補助
- 制作の流れ
- 制作
- 日本語対応
- 日本語非対応
- 費用
- 公開の部品は無料。非公開の部品を使う・分け合うには有料の契約が要る
- 公式サイト
- https://docs.npmjs.com/確認日 2026-09-18
このページの目次
npm の概要
npm(エヌピーエム)は、JavaScript の部品(パッケージ)を配り、取り寄せるための仕組みです。公式ドキュメントは「npm is the world's largest software registry.(npm は世界でいちばん大きなソフトウェアの登録簿です)」と書き、どの大陸のオープンソースの開発者も部品のやり取りに使っていること、多くの組織が非公開の開発の管理にも使っていることを挙げています。
公式のリポジトリは、npm を JavaScript のパッケージの管理の仕組みと呼んでいます。
npm の表記について、公式のリポジトリは、見出しなどもともと全部を大文字にする場所でない限り、大文字にしてはいけないと書いています。「Node Package Manager」の頭文字ではなく、「npm is not an acronym(npm は頭文字ではない)」を自分で指す形に縮めたものだとも書かれています。もとになったのは pm という、いろいろな環境にいろいろなものを入れるための小さな仕組みです。
npm の特徴
npm はゲームを描く機能を持ちません
npm が受け持つのは、部品を配り、取り寄せ、版を合わせる部分です。絵や音を扱う機能は持ちません。
npm の3つの部分
npm は3つの別々の部分からできています。
| 部分 | 何をするか |
|---|---|
| Web サイト | 部品を探し、自分の情報を設定し、公開・非公開の部品への出入りを組織として管理します |
| 命令行のツール(CLI) | 端末から動かします。公式ドキュメントは、開発者が npm に触れる場所として、まずここを挙げています |
| 登録簿(registry) | JavaScript のソフトウェアと、それにまつわる情報を集めた大きな公開の置き場です |
公式ドキュメントが npm でできることとして並べているのは、部品を自分のアプリに合わせて使うこと、そのまま取り込むこと、単体で使えるツールを取り寄せること、npx で取り寄せずに動かすこと、誰とでもコードを分け合うこと、特定の開発者だけに限ること、組織と仮想のチームを作ること、複数の版と依存の関係を管理することです。
npm の入れ方
公式のリポジトリは、npm が node と、多くの外部の配布物に最初から付いてくると書いています。公式に支えられている配布物は nodejs.org/en/download から配られます。
そこから離れて入れる道もあり、curl -qL https://www.npmjs.com/install.sh | sh という形が示されています。Node.js と npm の版を複数使い分けたい場合には、版を切り替える仕組みを使うよう案内されています。
npm を動かすには、いま支えられている版の Node.js が要ると書かれています。
npm の登録簿の切り替え
npm は、既定で https://registry.npmjs.org の公開の登録簿を使います。公式のリポジトリは、この登録簿の利用が npmjs.com/policies/terms にある利用規約に従うことを書いています。
同じ作りの別の登録簿に切り替えることも、自分で登録簿を立てることもできます。どの登録簿を使うかは、その部品に付けた所属の印(スコープ)で決まり、印が無ければ設定で決めた既定の登録簿が使われます。認証の合い言葉や証明書の設定は、登録簿ごとに別々に持ちます。
版を固定するファイルの中では、既定の登録簿は「いま設定されている登録簿」という特別な意味になります。既定の登録簿で作ったファイルなら、あとで別の登録簿に切り替えると新しいほうから取り寄せます。独自の登録簿で作った場合は、切り替えたあともそちらから取り寄せます。
npm が登録簿へ送る情報
npm は、登録簿へ要求を出すときに、環境についての2つの見出しを添えます。
| 見出し | 中身 |
|---|---|
Npm-Scope |
その企画に所属の印が付いていれば、その印 |
Npm-In-CI |
自動の組み立ての場で動いていると npm が判断したときに true。判断は CI・TDDIUM・JENKINS_URL・bamboo.buildKey の環境変数を見て行います |
この見出しの中身を、同じ要求で使われる登録済みの利用者と結び付けることはしないとされています。人が使っている割合と、自動の組み立ての場が使っている割合を測るための情報だとされています。
公開したくない部品は、package.json に "private": true を書けば公開そのものが止まります。自分たちの登録簿だけに出したい場合は "publishConfig" に登録簿を書きます。
npm の費用とライセンス
公開の部品を分け合うだけなら費用はかかりません。公式ドキュメントは「If you choose to share your packages publicly, there is no cost.(部品を公開して分け合うことを選ぶなら、費用はかかりません)」と書いています。非公開の部品を使い、分け合うには、有料の契約へ上げる必要があります。
| 使い方 | 費用 |
|---|---|
| 公開の部品を取り寄せる・公開する | 無料 |
| 非公開の部品を使う・分け合う | 有料の契約が要ります |
| 組織を作って公開で一緒に作る | 無料 |
| 組織を作って非公開で一緒に作る | 有料 |
公式ドキュメントは、非公開の部品を別の道で扱う方法として、GitHub Packages と、オープンソースの Verdaccio を挙げています。
利用者の勘定と組織の勘定には、それぞれ有料の契約へ上げる手順、領収書を見る手順、支払いの設定を変える手順、無料へ戻す手順の頁が用意されています。
- npm|公式サイトhttps://docs.npmjs.com/
情報源
- About npm — npm 公式ドキュメント(npm の定義・3つの部分・できること・公開と非公開の費用・組織と別の登録簿)https://docs.npmjs.com/about-npm確認日 2026-09-18
- npm Docs — 公式ドキュメントの入口(資料の構成・利用者の勘定と組織の支払いの頁)https://docs.npmjs.com/確認日 2026-09-18
- npm/cli — 公式リポジトリ(npm の位置づけ・入れ方・必要な Node.js・既定の登録簿と利用規約・表記と名前の由来)https://github.com/npm/cli確認日 2026-09-18
- Registry — npm 公式ドキュメント(登録簿の切り替え・所属の印との関係・版を固定するファイルの扱い・送られる2つの見出し・公開を止める書き方)https://docs.npmjs.com/cli/v11/using-npm/registry確認日 2026-09-18