npm vs npx —違いは何ですか?

Node.jsを使用したことがある場合は、確かにnpmを使用したことがあるはずです。

npm(ノードパッケージマネージャー)は、Node.jsをインストールするときにすぐに使用できる依存関係/パッケージマネージャーです。開発者がグローバルとローカルの両方でパッケージをインストールする方法を提供します。

特定のパッケージを見て、いくつかのコマンドを試してみたい場合があります。ただし、ローカルnode_modulesフォルダーに依存関係をインストールせずにそれを行うことはできません。

そこでnpxが登場します。

この記事では、npmnpxの違いを見て、両方を最大限に活用する方法を学びます。

まず、npmが実際に何であるか、そしてそれを使って何ができるかを理解しましょう。

npmパッケージマネージャー

npmはいくつかのものです。何よりもまず、これはオープンソースのNode.jsプロジェクトを公開するためのオンラインリポジトリです。

次に、これらのパッケージをインストールし、バージョンと依存関係を管理するのに役立つCLIツールです。npmには数十万のNode.jsライブラリとアプリケーションがあり、さらに多くが毎日追加されています。

npm自体はパッケージを実行しません。npmを使用してパッケージを実行する場合は、package.jsonファイルでそのパッケージを指定する必要があります。

実行可能ファイルがnpmパッケージを介してインストールされると、npmはそれらへのリンクを作成します。

  • ローカルインストールでは、./node_modules/.bin/ディレクトリにリンクが作成されます
  • グローバルインストールには、グローバルbin/ディレクトリから作成されたリンクがあります(例:/usr/local/binLinuxまたは%AppData%/npmWindowsの場合)

npmでパッケージを実行するには、次のようにローカルパスを入力する必要があります。

$ ./node_modules/.bin/your-package

またはpackage.json、次のように、スクリプトセクションのファイルにパッケージを追加して、ローカルにインストールされたパッケージを実行できます。

{ "name": "your-application", "version": "1.0.0", "scripts": { "your-package": "your-package" } }

次に、次を使用してスクリプトを実行できますnpm run

npm run your-package

プレーンなnpmでパッケージを実行するには、かなりの儀式が必要であることがわかります。

幸いなことに、これはnpxが役立つところです。

npxパッケージランナー

npmバージョン5.2.0以降、npxはnpmに事前にバンドルされています。ですから、それは最近ではほとんど標準です。

npxは、npmレジストリでホストされている依存関係を簡単にインストールおよび管理できるようにすることを目的としたCLIツールでもあります。

通常はnpmを介してインストールするあらゆる種類のNode.jsベースの実行可能ファイルを実行するのが非常に簡単になりました。

次のコマンドを実行して、現在のnpmバージョンにすでにインストールされているかどうかを確認できます。

$ which npx

そうでない場合は、次のようにインストールできます。

$ npm install -g npx

インストールされていることを確認したら、npxが非常に役立ついくつかのユースケースを見てみましょう。

ローカルにインストールされたパッケージを簡単に実行する

ローカルにインストールされたパッケージを実行する場合は、次のように入力するだけです。

$ npx your-package

NPXは、かどうかをチェックしますに存在する$PATH、またはローカルプロジェクトのバイナリで、そしてもしそれを実行しますので。

以前にインストールされていないパッケージを実行する

もう1つの大きな利点は、以前にインストールされていないパッケージを実行できることです。

一部のCLIツールを使用したいが、テストのためだけにグローバルにインストールしたくない場合があります。これは、ディスクスペースを節約し、必要な場合にのみ実行できることを意味します。これは、グローバル変数の汚染が少なくなることも意味します。

GitHubから直接コードを実行する

execute-gist-script-with-npx

これはかなりラッドです。

npxを使用して、GitHubの要点とリポジトリを実行できます。GitHubの要点を作成する方が簡単なので、GitHubの要点の実行に焦点を当てましょう。

最も基本的なスクリプトは、メインのJSファイルとpackage.json。ファイルを設定したら、上の画像に示すように、その要点へのリンクを指定してnpxを実行するだけです。

ここに、この例で使用したコードがあります。

悪意のあるコードが原因で発生する可能性のある重大な問題を回避するために、スクリプトを実行する前に、スクリプトを注意深く読んでください。

さまざまなパッケージバージョンをテストする

npxを使用すると、Node.jsパッケージまたはモジュールのさまざまなバージョンを非常に簡単にテストできます。この素晴らしい機能をテストするために、create-react-appパッケージをローカルにインストールして、次のバージョンをテストします。

これにより、出力の終わり近くにいくつかのdistタグが一覧表示されます。Distタグは、バージョン番号のエイリアスを提供するため、入力が非常に簡単になります。

$ npm v create-react-app
create-react-app-dist-tags

npxを使用して、サンドボックスディレクトリ内にアプリを作成するnextdistタグを試してみましょうcreate-react-app

$ npx [email protected] sandbox

npxは一時的に次のバージョンのをインストールし、次にcreate-react-app実行してアプリをスキャフォールディングし、その依存関係をインストールします。

インストールすると、次のようにアプリに移動できます。

$ cd sandbox

次に、次のコマンドで起動します。

$ npm start
create-react-app-npx-next-version

デフォルトのブラウザウィンドウでReactアプリが自動的に開きます。

これで、次のバージョンのcreate-react-appパッケージで実行されるアプリができました。

index-page-react-app

結論

npxは、バージョン管理、依存関係の問題、および試してみたい不要なパッケージのインストールを回避するのに役立ちます。

また、パッケージ、コマンド、モジュール、さらにはGitHubの要点やリポジトリを実行するための明確で簡単な方法も提供します。

これまでnpxを使用したことがない場合は、今から始めるのがよいでしょう。

これはもともと私のブログに投稿されました。

TwitterやFacebookで何でも連絡して質問することができます。