1. ホーム
  2. javascript

[解決済み] npxとnpmの違い?

2022-03-20 15:49:43

質問

Reactの勉強を始めたばかりですが、Facebookが提供する 以下のような既成のプロジェクト .

スケルトンプロジェクトをインストールする場合は、次のように入力します。 npx create-react-app my-app をコマンドラインで実行します。

不思議に思ったのは、GithubのFacebookにはなぜか npx create-react-app my-app よりも npm create-react-app my-app ?

解決方法は?

npxの紹介: npmパッケージランナー

NPM - 管理する パッケージ しかし は、生活を楽にしてくれない 実行 のいずれかを選択します。
NPX - のためのツールです。 実行 Nodeのパッケージ。

NPX が同梱されています。 NPM バージョン 5.2+

NPM は、それ自体ではどんなパッケージも単純に実行しません。NPM を使ってパッケージを実行したい場合、そのパッケージを package.json ファイルを作成します。

NPMパッケージで実行ファイルがインストールされた場合、NPMはその実行ファイルにリンクします。

  1. ローカル に作成されたリンクがあります。 ./node_modules/.bin/ ディレクトリを作成します。
  2. グローバル をインストールすると、グローバルな bin/ ディレクトリに格納されます(例. /usr/local/bin ) Linuxでは %AppData%/npm Windowsの場合。

お読みいただきたい資料


NPMです。

あるプロジェクトで、パッケージをローカルにインストールすることがあります。

npm install some-package

さて、NodeJSにコマンドラインからそのパッケージを実行させたいとします。

$ some-package

上記は 失敗 . のみです。 グローバルにインストールされている パッケージは、その名前を入力することで実行できます。 のみ .

これを修正し、実行させるには、ローカルパスを入力する必要があります。

$ ./node_modules/.bin/some-package

技術的には、ローカルにインストールしたパッケージは packages.json ファイルにそのパッケージを追加し scripts セクションを作成します。

{
  "name": "whatever",
  "version": "1.0.0",
  "scripts": {
    "some-package": "some-package"
  }
}

そして、このスクリプトを npm run-script (または npm run ):

npm run some-package


NPXです。

npx<command> に存在する $PATH またはローカルプロジェクトのバイナリに含まれているものを実行します。つまり、上記の例では、ローカルにインストールされたパッケージである some-package と入力するだけです。

npx some-package

もう一つ メジャー の利点 npx は、以前にインストールされていないパッケージを実行する能力です。

$ npx create-react-app my-app

上記の例では react アプリのボイラープレート 内の を実行することで、ジェネレータやビルドツールを使うたびにアップグレードすることなく、常に最新バージョンを使うことができます。


ユースケースの例

npx コマンドを使用すると便利な場合があります。 script セクションの package.json ファイルを作成します。 一般的に使用されていない依存関係を定義する必要がある場合など。

"scripts": {
    "start": "npx [email protected]",
    "serve": "npx http-server"
}

で呼び出す。 npm run serve


関連する質問

  1. ローカルにインストールしたパッケージを node_modules で使用するには?
  2. NPM: ./node_modules/.bin フォルダをソースにする方法は?
  3. npm scripts を使って js ファイルを実行するには?