コマンドライン経由で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
を変更 hereC:\Users\<username>\AppData\Roaming\npm\node_modules
を指す変数NODE_PATHC:\Users\<username>\AppData\Roaming\npm\node_modules
をPATH環境に追加します。変数同じセットアップが私の2番目のコンピューターで動作します(両方ともWin7 64ビットを実行します)。ノードのインストールに問題がありますか、それとも何が間違っていますか?
実行可能バイナリと.cmdファイルは、最終的にC:\Users\<username>\AppData\Roaming\npm
(マイナスnode_modules
最後に)そのパスをPATH envに追加します。変数は問題を修正しました。
上記の方法が機能しない場合、このコマンドを使用して明示的にパスを設定します
npm config set prefix c:/Users/<username>/AppData/Roaming/npm
ここでこのトピックに関する詳細情報: https://medium.com/@alberto.schiabel/npm-tricks-part-1-get-list-of-globally-installed-packages-39a240347ef
グローバルにインストールされたパッケージのリスト
npm list -g --depth 0