web-dev-qa-db-ja.com

グローバルNPMパッケージはインストールされましたが、コマンドが見つかりません

コマンドライン経由で2つのnpmパッケージ "download" および "enigmavirtualbox" をグローバルにインストールしました。

npm install -g downloadおよびnpm install -g engimavirtualbox

バッチファイルでそれらを使用して、ノードプロジェクトから単一の.exeファイルをバンドルしようとしています。両方について、コマンドnpm list -g <packagename>は、現在の作業ディレクトリに関係なく、それぞれのバージョンの出力を生成します。

ただし、バッチスクリプト内では、コマンド "download"および "enigmavirtualbox"が見つかりません。

npm root -gを実行するとC:\Users\<username>\AppData\Roaming\npm\node_modulesが生成され、そのフォルダー内を見ると、両方のパッケージのフォルダーが存在することがわかります。

私が試したもの:

  • 説明に従ってnpm rootを変更 here
  • パッケージのアンインストールと再インストール
  • 環境を追加C:\Users\<username>\AppData\Roaming\npm\node_modulesを指す変数NODE_PATH
  • C:\Users\<username>\AppData\Roaming\npm\node_modulesをPATH環境に追加します。変数

同じセットアップが私の2番目のコンピューターで動作します(両方ともWin7 64ビットを実行します)。ノードのインストールに問題がありますか、それとも何が間違っていますか?

27
bendulum

実行可能バイナリと.cmdファイルは、最終的にC:\Users\<username>\AppData\Roaming\npm(マイナスnode_modules最後に)そのパスをPATH envに追加します。変数は問題を修正しました。

44
bendulum

上記の方法が機能しない場合、このコマンドを使用して明示的にパスを設定します

npm config set prefix c:/Users/<username>/AppData/Roaming/npm
4
Mr.Noob

ここでこのトピックに関する詳細情報: https://medium.com/@alberto.schiabel/npm-tricks-part-1-get-list-of-globally-installed-packages-39a240347ef

グローバルにインストールされたパッケージのリスト

npm list -g --depth 0
0
zloctb