【エヌピーエムレジストリ】

npmレジストリ とは?

最終更新:
💡 パッケージを公開・配布するオンラインの倉庫

npmレジストリは、JavaScriptなどのパッケージの情報と配布ファイルを管理するサービス。npmコマンドとの違い、検索・インストール・公開の流れ、非公開パッケージと安全確認を解説します。

📌 このページのポイント
npmレジストリ:パッケージの配布倉庫開発者レジストリ利用者npm publish情報+配布ファイルnpm install公開先の例:registry.npmjs.orgパッケージの例react / lodash / express / typescript公開範囲・権限・ライセンス・安全性を確認
矢印は公開するファイルと取得するファイルの流れです。CLIは別の対応レジストリへも接続でき、登録されていることだけで安全性は保証されません。
ひよこ ひよこ
npmとnpmレジストリは同じもの?
ペンギン先生 ペンギン先生
npmにはWebサイト、コマンドを実行するCLI、レジストリという別の役割があるよ。CLIが窓口で、レジストリが倉庫というイメージだね。公開npmレジストリの接続先はregistry.npmjs.orgだよ。
ひよこ ひよこ
必要なライブラリはどうやって探して使うの?
ペンギン先生 ペンギン先生
検索は `npm search キーワード`、名前が分かったら `npm install パッケージ名` で取得・導入するよ。レジストリが持つ名前やバージョンの情報を使って、配布ファイルを取得するんだ。すべてのJavaScriptコードがここにあるわけではないよ。
ひよこ ひよこ
自分のパッケージも公開できる?
ペンギン先生 ペンギン先生
公開権限と必要な認証を用意し、含めるファイルや公開範囲を確認して `npm publish` を使うよ。多要素認証など、使う認証方式の条件も確認しよう。同じ名前とバージョンの組み合わせを上書きすることはできないんだ。
ひよこ ひよこ
社内のコードを全世界に公開したくないな。
ペンギン先生 ペンギン先生
非公開パッケージや別の対応レジストリを使う選択肢があるよ。接続先は全体やスコープごとに設定できる。非公開機能の料金・権限はサービスごとに違うから確認しよう。公開前には秘密情報が含まれていないかも点検するんだ。
ひよこ ひよこ
レジストリにあるなら安全に使える?
ペンギン先生 ペンギン先生
登録されているだけでは安全を保証できないよ。似た名前の悪意あるパッケージや、既存パッケージの改ざんもあり得る。公式プロジェクトが案内する名前、保守状況、ライセンス、依存関係を確認してから導入しよう。
もっと詳しく知りたい人へ

CLIを使うと、必ず公開npmレジストリへ接続するの?

標準設定では公開npmレジストリを使いますが、registry設定やスコープごとの設定で別の接続先も使えます。npm installにはローカルファイルやGitのURLを指定する方法もあり、取得元が常に公開レジストリとは限りません。接続先に合った認証とアクセス権が必要です。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「npmレジストリ」って出てきたら「npmのパッケージを公開・取得する配布サービス」と思えばだいたいOK!
📖 おまけ:英語の意味
「npm Registry」 = npmのパッケージ登録・配布サービス
💬 Registryは登録所・台帳の意味。ここではパッケージ名、バージョン、配布ファイルなどを管理する場所を指すよ。

参考資料

← 用語集にもどる