'node' не распознано как внутренняя или внешняя команда
У меня возникла проблема с работой node.js версии v0.6.3, установленной на локальном компьютере с Windows Vista по адресу C:\Program Files\Nodejs. Недавно я обновил её до версии v0.6.6, и всё казалось в порядке, однако теперь, когда я пытаюсь запустить node из любой директории, получаю следующее сообщение:
'node' is not recognized as an internal or external command
Хотя запуск node из директории C:\Program Files\Nodejs работает без проблем.
Я пробовал перезагрузить компьютер, удалить и переустановить node, а также восстановить версию 0.6.3 — ничего не помогает. Я не понимаю, почему node не может распознать системный путь, хотя в своей базовой директории он работает нормально. Может кто-нибудь помочь с решением этой проблемы?
5 ответ(ов)
У вас отсутствует Node в системном PATH. Попробуйте выполнить следующую команду в командной строке:
SET PATH=C:\Program Files\Nodejs;%PATH%
После этого попробуйте запустить node.
Для того чтобы добавить Node в PATH на системном уровне, вам необходимо изменить параметры системы. Подробности можно найти здесь: http://banagale.com/changing-your-system-path-in-windows-vista.htm.
Для большей аккуратности создайте новую системную переменную NODEJS:
NODEJS="C:\Program Files\Nodejs"
Затем отредактируйте переменную PATH в системных переменных и добавьте %NODEJS%:
PATH=%NODEJS%;...
Это должно решить проблему с доступом к Node.js.
Если установка Node.js добавляет неверный путь в переменные окружения, это может быть связано с тем, что в конце пути присутствует лишний символ \.
По умолчанию Node.js добавляет следующий путь:
C:\Program Files\nodejs\
Чтобы исправить ситуацию, просто уберите лишний символ \ в конце. После этого все будет работать как следует.
Чтобы настроить путь к Node.js и NPM на Windows, перейдите в папку, где они установлены (например, C:\Program Files (x86)\nodejs\). Затем выполните следующие команды в командной строке:
> set path=%PATH%;%CD%
> setx path "%PATH%"
Это добавит текущую папку в переменную окружения PATH, что позволит системе находить исполняемые файлы Node.js и NPM. Убедитесь, что вы запускаете командную строку с правами администратора для успешного выполнения команды setx.
Когда я устанавливаю Node.js, мне каждый раз нужно перезагружать компьютер, чтобы система распознала путь. Как можно избежать перезагрузки после установки и сделать так, чтобы путь к Node.js распознавался сразу?
Для того чтобы избежать перезагрузки, попробуйте выполнить следующие шаги:
Убедитесь, что путь к Node.js добавлен в переменную окружения PATH. Вы можете сделать это вручную:
- Откройте меню "Пуск" и найдите "Изменение переменных среды для вашей учетной записи".
- В разделе "Переменные среды" найдите переменную
Pathи добавьте путь к директории установки Node.js.
Обновите переменные окружения в уже открытых терминалах. После добавления пути к Node.js в
Pathможно выполнить команду для обновления переменных среды:- В командной строке (cmd) выполните
set PATH=%PATH%;C:\Path\To\Node(заменитеC:\Path\To\Nodeна актуальный путь).
- В командной строке (cmd) выполните
Перезапустите терминал или командную строку, чтобы новые изменения вступили в силу. Обычно не требуется перезагрузка компьютера.
Если после выполнения этих шагов Node.js все еще не распознается, попробуйте запустить команду where node в командной строке, чтобы убедиться, что путь установлен правильно.
Будьте осторожны с другими путями, заканчивающимися на \. У меня была такая ситуация:
...bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\nodejs\
Я изменил его на:
bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files\nodejs
Удалив последний \, но это всё равно не сработало. Предыдущий путь к Web Platform Installer также имел завершающий \. Удаление этого символа решило проблему.
Как в Node.js "подключить" функции из других файлов?
Как установить Java 8 на Mac
Как задать переменные окружения из файла package.json?
Загрузка JDK Java на Linux через wget приводит к отображению страницы лицензии вместо установки
Как остановить Babel от трансформации 'this' в 'undefined' и добавления "use strict"