ホームページ > 記事 > ウェブフロントエンド > npm vs npx
Node.js を使用している場合は、npm と npx の両方に遭遇したことがあるでしょう。
これらは似ているように聞こえ、どちらも Node.js エコシステムの不可欠な部分ですが、異なる目的を果たします。この投稿では、npm と npx の違いを検討し、それぞれをいつ使用するのか、なぜ使用するのかを理解するのに役立ちます。
NPM (Node Package Manager の略) は、Node.js のデフォルトのパッケージ マネージャーです。これにより、開発者はプロジェクト内でパッケージ (ライブラリまたはコード モジュール) をインストール、共有、管理できます。
npm が役立つ一般的なタスクをいくつか示します。
npm install <package-name>
パッケージ バージョンの管理: ビルドの一貫性を確保するために、ライブラリの特定のバージョンをロックダウンします。
プロジェクト固有のスクリプトの実行: package.json ファイルで定義されています。
npm run <script-name>
npx は、NPM バージョン 5.2.0 (2017 年 7 月) で導入されたツールです。 npm は依存関係とパッケージを管理しますが、npx は Node.js パッケージ、特に CLI ツールをグローバルにインストールせずに実行するように設計されています。
1.パッケージのインストールと実行
npm install -g create-react-app create-react-app my-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 を使用します。
- プロジェクト固有のスクリプトの実行: package.json で定義され、プロジェクトに合わせて調整されます。
- パッケージ バージョンの管理: プロジェクトの一貫性を維持するためにライブラリの特定のバージョンをロックダウンします。
- 1 回限りのパッケージ実行: 一度しか使用しない CLI ツールなど、グローバルにインストールしたくないパッケージには npx を使用します。
- 実行可能ファイルの実行: create-react-app などのコマンドの場合、npx を使用すると、グローバル インストールなしでコマンドを実行できます。
- さまざまなバージョンのテスト: ツールをインストールせずに、特定のバージョンのツールをすばやく実行します。
最後に、npm と npx はどちらも Node.js エコシステムに不可欠なツールですが、目的は異なります。プロジェクトの依存関係を管理するには npm を使用し、永続的にインストールせずにパッケージを実行するには npx を使用します。
この小さな違いにより、ワークフローがより効率的になり、時間を節約し、不必要なグローバル インストールを回避できます。
以上がnpm vs npxの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。