npm vs npx

Barbara Streisand
Barbara Streisandオリジナル
2024-10-04 20:24:02797ブラウズ

npm Vs npx

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

NPM とは何ですか?

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

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

  • 依存関係のインストール:

npm install <package-name>


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

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


npm run <script-name>


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 を使用します。

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

以上がnpm vs npxの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。