2015-04-29 5 views
16

Я глобально установлены два НПХ пакетов "download" и "enigmavirtualbox" через командную строку:Global NPM пакет, но команда не найден

npm install -g download и npm install -g engimavirtualbox

Я пытаюсь использовать их в пакетном файл для объединения один .exe-файл из моего проекта узла. Для обоих команд npm list -g <packagename> выводятся соответствующие версии, независимо от текущего рабочего каталога.

Однако внутри моего командного сценария команды «скачать» и «enigmavirtualbox» не найдены.

Запуск npm root -g дает C:\Users\<username>\AppData\Roaming\npm\node_modules и просматривает эту папку. Я вижу, что папки для обоих пакетов присутствуют.

То, что я пробовал:

  • Изменение npm root, как описано here
  • удалить и переустановить пакеты
  • Добавить окр. переменная NODE_PATH, чтобы указать на C:\Users\<username>\AppData\Roaming\npm\node_modules
  • Добавить C:\Users\<username>\AppData\Roaming\npm\node_modules в PATH env. переменная

Такая же настройка работает на моем втором компьютере (оба запускают Win7 64 бит). Что-то не так с моей установкой узла, или что я делаю неправильно?

+0

https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows – Lonely

ответ

31

Исполняемые двоичные файлы и .cmd-файлы заканчиваются на C:\Users\<username>\AppData\Roaming\npm (минус node_modules в конце), поэтому добавление этого пути в PATH env. переменная исправила проблему.

+11

, которая работает , хотя, возможно, было бы лучше использовать подстановочный знак: '% USERPROFILE% \ AppData \ Roaming \ npm'. Эта строка должна идти до любых путей npm, node или nodejs в вашей переменной env PATH, так что npm может найти ваши глобальные пакеты соответствующим образом. – gugol

+0

Я создал свой собственный узел package.json и запускал 'npm install -g' оттуда (я его не публиковал, так как мне нужно было оставаться закрытым). Это помещает данные пакета и зависимости в '% appdata% \ npm \ node_modules', но нет файла' .cmd', где вы сказали. – deed02392

2

Если метод не работает, то используйте эту команду, чтобы явно задать путь

npm config set prefix c:/Users/<username>/AppData/Roaming/npm 
Смежные вопросы