npm run
でexexcuted任意の定義されたNPMのスクリプトは最初
cd your_project
./node_modules/.bin
フォルダでから後実行バイナリを探しますありがとうございました。これらのバイナリはnpm install
経由package.json
から、あなたのプロジェクトの定義された依存関係から来ている
npm bin
:あなたはまた、経由フルパスを見ることができます。
./node_modules/.bin/react-scripts start
あなたが自分自身で
react-scripts start
を実行しようとすると、端末は、あなたのシステムのPATH
を見上げるとそこにそれを見つけるためにしようとします:
npm run start
は、実行中にeuquivalentそれゆえです。
echo $PATH
あなたが唯一のグローバル、ローカルおよびインストールされていないreact-scripts
しているのであれば、それは実行可能なバイナリを見つけ、それ故に失敗しません。
あなたは世界的にそれを実行したい場合、あなたは世界的にそれをインストールする必要があります。
npm install -g react-scripts
which react-scripts
~/.nvm/versions/node/v7.10.0/bin/react-scripts //
と~/.nvm/versions/node/v7.10.0/bin
は私のPATHの一部です。
Sidenotes:
私は各プロジェクトを持つことを好むが、ローカルに彼らの特定のバージョンで、独自の依存関係を定義し、唯一それを使用します。異なるバージョンのバイナリに依存する複数のプロジェクトがあるかもしれません。
また、package.json
に定義されているものを一貫して使用すると、問題は発生しません。
これはまた、npmスクリプトが一貫して状態を再構築するときに、同僚の「自分のマシンでの作業」の問題を防ぎます。NPMで
あなたはNPMスクリプトで使用するライブラリを使用すると、すべての依存関係を定義するか、あなたのような各コマンドを実行するために持っているとして、それは少し厄介です:としてもyarn
を使用してのように、私ので
$(npm bin)/yourCmd
私のnpmの置き換え、私はいつでもcmdを実行するために、プロジェクトのbinフォルダを調べるためにデフォルトを好きになった:
yarn yourCmd
$ "/home/philipp/my-project/node_modules/.bin/yourCmd"