問題タブ [npx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
616 参照

node.js - npx foo – 「コマンドが見つかりません: foo」

最後のコマンドで、ファイルC:\Users\xehpuk\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.jsは既定のテキスト エディターで開かれます。どうしたの?

0 投票する
1 に答える
1073 参照

node.js - ノード: グローバル パッケージのインストールを回避する方法

ノードで作業するときにグローバルパッケージの必要性を回避するためのパターンを探しています。必要なものをすべてインストールしてから、グローバルパッケージをインストールせずにnpm installすべてのコマンドを実行したいと思います。npm run xxx

たとえば、テストを実行するように jest を構成しました。

これらは私のpackage.jsonの依存関係です:

これらは私が設定したいくつかのスクリプトです:

しかし、発行npm run testすると、次のエラーが発生します。

jest をグローバルにインストールすると、npm install -g jestすべて正常に動作しますが、それはまさに私が避けようとしているものです。

私が行ったいくつかの仮定は、間違っている可能性があります。

  • スクリプトを実行するとき、ノードは最初に node_modules/.bin でコマンドを検索します (ローカルにインストールされたパッケージを使用するため)

  • npm installすべてのコマンドラインコマンドを発行すると、node_modules/.bin にインストールされます

devDependencies に jest があっても、プロジェクトに node_modules/.bin/jest ファイルがないため、この最後のものは機能しません。

一方、回避策として、次のように動作するようです。

しかし、実行するたびにnpxがjestをインストールするのに10秒以上かかりますnpm run test

それで、それを達成する正しい方法は何ですか?npm に jest を node_modules/.bin にインストールし、スクリプトで参照するときにそれを使用するように指示するにはどうすればよいですか?