「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > npm vs npx

npm vs npx

2024 年 11 月 8 日に公開
ブラウズ:826

npm Vs npx

Node.js を使用している場合は、npm と npx の両方に遭遇したことがあるでしょう。
これらは似ているように聞こえ、どちらも Node.js エコシステムの不可欠な部分ですが、異なる目的を果たします。この投稿では、npm と npx の違いを検討し、それぞれを使用する時期と理由を理解するのに役立ちます。

NPMとは何ですか?

NPM (Node Package Manager の略) は、Node.js のデフォルトのパッケージ マネージャーです。これにより、開発者はプロジェクト内のパッケージ (ライブラリまたはコード モジュール) をインストール、共有、管理できます。

npm で役立つ一般的なタスクをいくつか示します:

  • 依存関係をインストールしています:

npm install 
  • パッケージ バージョンの管理: ビルドの一貫性を確保するために、ライブラリの特定のバージョンをロックダウンします。

  • プロジェクト固有のスクリプトの実行: package.json ファイルで定義されています。


npm run 

NPX とは何ですか?

npx は、NPM バージョン 5.2.0 (2017 年 7 月) で導入されたツールです。 npm は依存関係とパッケージを管理しますが、npx は Node.js パッケージ、特に CLI ツールをグローバルにインストールせずに実行するように設計されています。

NPM と NPX の主な違い

1.パッケージのインストールと実行

  • NPM: npm を使用してパッケージをインストールすると、パッケージはプロジェクト ディレクトリにグローバルまたはローカルにインストールされます。これは、パッケージを使用する前に、まずパッケージをインストールする必要があることを意味します。

npm install -g create-react-app
create-react-app my-app


  • NPX : npx を使用すると、CLI ツールや実行可能ファイルを グローバルにインストールせずに実行できます。 たとえば、グローバルにインストールせずに create-react-app を実行できます。

npx create-react-app my-app


これにより、一度しか使用しないパッケージのインストールを回避できるため、時間とディスク容量が節約されます。


2.グローバルパッケージ
npm を使用すると、グローバル パッケージがインストールされ、システム全体に永続化されるため、環境が乱雑になる場合があります。

npx を使用すると、システム上にパッケージを永続的に保持することを心配せずにパッケージを実行できます。

npm を使用してパッケージをグローバルにインストールする例:


npm install -g typescript
tsc --version



npx を使用すると、グローバル インストールは必要ありません:


npx tsc --version



3.自動パッケージ処理
npx でコマンドを実行すると、パッケージがローカルまたはグローバルに存在するかどうかが自動的にチェックされ、存在しない場合は一時的にダウンロードして実行されます。これは、1 回限りのタスクを実行する場合に特に便利です。

例えば:


npx cowsay "Hello, World!"


これにより、Cowsay パッケージがインストールされていない場合はダウンロードされ、実行され、その後クリーンアップされます。


4.スクリプトなしのパッケージ実行可能ファイル
npm を使用して package.json スクリプトで定義されたコマンドを実行する場合は、次のように記述します:


npm run my-script


しかし、npx を使用すると、実行可能なコマンドを直接実行できます:


npx my-script


これは、スクリプトが package.json で明示的に定義されていない場合に特に便利です。

NPM を使用する場合

- 依存関係の管理: プロジェクトの依存関係のインストール、更新、削除には npm を使用します。

- プロジェクト固有のスクリプトの実行: package.json で定義され、プロジェクトに合わせて調整されます。

- パッケージ バージョンの管理: プロジェクトの一貫性を維持するためにライブラリの特定のバージョンをロックダウンします。

NPX を使用する場合

- 1 回限りのパッケージ実行: 一度しか使用しない CLI ツールなど、グローバルにインストールしたくないパッケージには npx を使用します。

- 実行可能ファイルの実行: create-react-app のようなコマンドについては、npx を使用するとグローバル インストールなしで実行できます。

- さまざまなバージョンのテスト: ツールをインストールせずに、特定のバージョンのツールをすばやく実行します。

最後に、npm と npx はどちらも Node.js エコシステムに不可欠なツールですが、目的は異なります。プロジェクトの依存関係を管理するには npm を使用し、永続的にインストールせずにパッケージを実行するには npx を使用します。

この小さな違いにより、ワークフローがより効率的になり、時間を節約し、不必要なグローバル インストールを回避できます。

リリースステートメント この記事は次の場所に転載されています: https://dev.to/jagroop2001/npm-vs-npx-1anc?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3