前提
フロントエンドとしてnpmを使っているものの、根本から理解できているわけではないため公式ドキュメントの自分の業務に関係がありそうな部分をDeepLを使って日本語訳化しました。
npmとは
npmは世界最大のソフトウェアレジストリです。
npmは3つの異なるコンポーネントで構成されています:
- ウェブサイト
- コマンドラインインターフェイス(CLI)
- レジストリ
パッケージを見つけるため、プロファイルを設定するため、また、npmの他の側面を管理するためにウェブサイトを利用しましょう。例えば、組織を設定して、パブリックまたはプライベートパッケージへのアクセスを管理することができます。
CLIはターミナルから実行され、ほとんどの開発者がnpmとやりとりする方法です。
レジストリは、JavaScriptソフトウェアとそれを取り巻くメタ情報の大規模な公開データベースです。
npmを使うことでできるようになること
- コードのパッケージをあなたのアプリに適応させるか、パッケージをそのまま組み込む。
- すぐに使えるスタンドアロンツールをダウンロード。
- npxを使ってダウンロードせずにパッケージを実行する。
- 複数のバージョンのコードとコードの依存関係を管理する。
※一部省略
パッケージとモジュール
導入
公開npmレジストリについて
公開されているnpmレジストリは、JavaScriptパッケージのデータベースで、それぞれがソフトウェアとメタデータで構成されている。
パッケージとモジュールについて
パッケージとは
パッケージとは、package.jsonファイルで記述されたファイルやディレクトリのことです。パッケージを npm レジストリに公開するには、package.json ファイルが必要です。
モジュールについて
モジュールとは、Node.jsのrequire()
関数でロードできる、node_modulesディレクトリにあるファイルやディレクトリのことです。
note
モジュールはpackage.jsonファイルを持つ必要はないので、すべてのモジュールがパッケージになるわけではありません。package.jsonファイルを持つモジュールだけがパッケージでもあります。
レジストリへのパッケージの提供
package.jsonファイルの作成
パッケージにpackage.jsonファイルを追加することで、他の人が管理やインストールをしやすくすることができます。
Node.js modulesの作成
Node.js モジュールは、npm に公開できるパッケージの一種です。
レジストリからのパッケージ取得
ローカルにパッケージをダウンロードしてインストールする
Node.jsのrequireのようなものを使って、自分のモジュールからパッケージに依存したい場合は、パッケージをローカルにインストールできます。これはnpm installのデフォルトの動作です。
スコープされていないパッケージのインストール
スコープされていないパッケージは常にパブリックであり、誰でも検索、ダウンロード、インストールできる。
公開パッケージをインストールするには、コマンドラインから以下のコマンドを実行する
npm install <package_name>
カレントディレクトリにnode_modulesディレクトリが作成され(まだ存在しない場合)、そのディレクトリにパッケージがダウンロードされます。
グローバルにパッケージをダウンロードしてインストールする
パッケージをグローバルにインストールすることで、パッケージ内のコードをローカル・コンピューター上でツールのセットとして使うことができる。
グローバルにパッケージをダウンロードしてインストールするには、コマンドラインで以下のコマンドを実行する:
npm install -g <package_name>
レジストリからダウンロードしたパッケージの更新
レジストリからダウンロードしたローカルパッケージやグローバルパッケージを更新することで、コードやツールの安定性、使いやすさ、安全性を保つことができます。
ローカルパッケージの更新
プロジェクトが依存しているローカル・パッケージを定期的に更新し、依存関係の改善に合わせてコードを改善することをお勧めします。
プロジェクトのルート・ディレクトリでupdateコマンドを実行する:
npm update
アップデートをテストするには、outdatedコマンドを実行する。
npm outdated
グローバルパッケージの更新
更新が必要なグローバルパッケージの決定
更新が必要なグローバルパッケージを確認するには、コマンドラインで次のように実行する:
npm outdated -g --depth=0
単一のグローバルパッケージの更新
単一のグローバル・パッケージを更新するには、コマンドラインで次のように実行する:
npm update -g <package_name>
グローバルにインストールされているすべてのパッケージの更新
すべてのグローバル・パッケージを更新するには、コマンドラインで次のように実行する:
npm update -g