Как включить путь для бинарного файла npm узла, был выполнен с

Windows, VSC, npm start получил это

npm WARN жизненный цикл. Узловой двоичный код, используемый для скриптов, - это C:\Program Files\nodejs\node.exe, но npm использует C:\where\AppData\Roaming\npm\node_modules\node\bin\node.exe. Используйте параметр --scripts-prepend-node-path для включения пути для бинарного узла узла npm.

Я понимаю, что моя локальная версия отличается от той, что находится в переменной PATH (C:\Program Files...). Как перейти к использованию --scripts-prepend-node-path?

Я сыграл трюк, заменив C:\Program Files\nodejs на C:\somewhere\AppData\Roaming\npm\node_modules\node\bin C:\Program Files\nodejs C:\somewhere\AppData\Roaming\npm\node_modules\node\bin в переменной PATH, он забирает этот новый node.exe, but there is no node binary in the current PATH. Снова рекомендуется использовать параметр --scrip ts-prepend-node-path для включения пути для бинарного узла npm узла, который был выполнен с

Ответ 1

Как я уже сказал, замена действительного пути в системной переменной PATH не устранила проблему полностью, она жаловалась на отсутствие двоичного файла. Обнаружил, что это решено there is no node binary in the current PATH проблеме there is no node binary in the current PATH, работал. Восстановил обратно оригинальный PATH, тоже сработало.

--scripts-prepend-node-path - просто создайте файл в корневой папке приложения с именем .npmrc, поместите в него эту строку, чтобы решить проблему:

scripts-prepend-node-path=true

Ответ 2

Вот еще один способ, который работает: npm config set scripts-prepend-node-path auto

Ответ 3

Имея эту проблему в Visual Studio 2017, я вместо этого сказал VS всегда использовать NodeJS, который я установил с сайта nodejs.org, а не замороженный по времени, который поставляется с Visual Studio. (Тот, который поставляется с VS2015, настолько древний, что больше не работает.)

В Visual Studio перейдите в раздел ИНСТРУМЕНТЫ> ОПЦИИ> поиск ВНЕШНИХ ВЕБ-ИНСТРУМЕНТОВ> и убедитесь, что "C:\Program Files\nodejs" (или там, где его установил nodejs.org) стоит первым в списке путей, добавляя его при необходимости.

Ответ 4

Ваш двоичный узел конфликтует с вашим npm

npm пытается использовать тот же узел, что и сам, для запуска.

Чтобы разрешить этот конфликт, попробуйте запустить:

npm config set scripts-prepend-node-path true