Запуск кода node.js просто отображает идентификатор node
У меня есть следующий код в файле server.js.
var http = require('http');
http.createServer(function (request, response) {
response.writeHead(200, {'Content-Type': 'text/plain'});
response.end('Hello World\n');
}).listen(8124);
console.log('Server running at http://127.0.0.1:8124/');
Я использую командную строку и навигацию к папке, в которую загружается файл, а затем запустите команду
node server.js
Но я не получаю ожидаемый результат. Вместо этого я получаю
The node identifier for {My Machine Name} is v2hrfnqaj.
Примечание. У меня уже есть node, установленный на моей машине, и он работает нормально.
Ответы
Ответ 1
Получил это, когда я пытался запустить команды кордовы. Шаги для решения:
Окна
- В приглашении CMD введите "где node". Как отметил Майкл, это показывает
вы, вероятно, виновник, что у вас есть 2 nodejs EXEs, установленные на
вашей машины.
- Перейдите в меню "Пуск" > "Компьютер" > щелкните правой кнопкой мыши "Свойства" > "Расширенные настройки системы"
- На вкладке "Дополнительно" выберите "Переменные среды"
- В разделе "Системные переменные" выберите переменную "Путь"
- Найти nodejs EXE, обычно "C:\Program Files (x86)\nodejs \"
- Вырезать и вставить это в начало переменной "Путь". обеспечивать
пути разделяются символом ";"
- Откройте новое приглашение CMD и повторите попытку.
Ответ 2
Это происходит, когда Harvest SCM установлен в вашей системе. Он имеет исполняемый файл с именем node.exe
адресу <Program Files (x86)>\CA\SharedComponents\PEC\bin
(где <Program Files (x86)>
- это папка с вашими программными файлами x86). Этот путь присутствует в переменной PATH
до пути к Node.js node.exe
.
Обновление: вам не нужна сложная схема, указанная в старом ответе. Вам просто нужно открыть командную строку и запустить:
C:\> nodevars
nodevars.bat
- это небольшой скрипт, который выполняет по сути то же самое, что описано ниже (но более безопасным способом). Если у вас установлен узел, этот скрипт должен быть в пути. (Если нет, обязательно добавьте C:\Program Files\nodejs
к вашему пути. Но обязательно добавьте его в конце, чтобы Harvest SCM не сломался).
Все ниже устарело, но я оставлю это для любопытного читателя.
Вы можете сделать одно из следующих двух действий, которые вы можете сделать, чтобы преодолеть эту проблему:
- Удалите
<Program Files (x86)>\CA\SharedComponents\PEC\bin
из PATH
среды PATH
. - Добавьте/переместите
<Program Files (x86)>\nodejs
в начало PATH
среды PATH
(это принятый в настоящее время ответ от djrpascu).
Ты можешь лучше!
Есть две проблемы с вышеуказанными подходами:
- Вы нарушаете функциональность Harvest SCM.
- Если у вас нет повышенных привилегий для изменения
PATH
, у вас нет выбора. (Спасибо @Glats)
Поэтому я создал этот маленький командный файл и поместил его в каталог, где у меня есть несколько других личных сценариев (этот каталог находится в моем PATH
). Здесь суть сценария.
nodecmd.bat
@echo off
set path=%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;C:\Program Files (x86)\nodejs;
start %ComSpec%
Затем в следующий раз, когда вы захотите запустить Node.js вместо командной строки, вы откроете новый скрипт с помощью команды "Выполнить...".
Windows + R
nodecmd
Появится командная строка. Вы можете использовать эту командную строку для запуска node
без хлопот.
объяснение
Этот бит удаляет путь исполняемого файла Harvest из PATH
:
%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;
И это добавляет путь Node.js:
set path=...;C:\Program Files (x86)\nodejs;
Результатом является строка, которая содержит исходную переменную PATH минус путь сбора урожая плюс путь к узлу. И это установлено как переменная PATH в области действия текущего пакетного файла.
Примечание. Возможно, вам придется изменить путь в сценарии, чтобы он соответствовал папкам установки программного обеспечения в вашей системе).
Следующая строка start %ComSpec%
запускает командную строку. К этому времени переменная PATH будет изменена. С измененными переменными среды вы можете запустить узел в этой новой командной строке. Изменение переменной среды не влияет на остальную часть системы, обеспечивая бесперебойную работу программного обеспечения Harvest SCM.
Ответ 3
Не разбивайте SCM урожая, удаляя его из пути. Попробуйте это, откройте командную строку Windows (cmd) и передайте следующий пакетный файл nodejs, чтобы он установил вашу командную строку в среду nodejs. Наслаждайтесь командами node.
C: > "C:\Program Files\nodejs\nodevars.bat"
Ответ 4
Это старый, но я столкнулся с этой проблемой. Точное одно и то же сообщение (с моим машинным именем, конечно). Проблема заключалась в том, что на пути был еще один исполняемый файл node, в C:\Program Files (x86)\CA\SharedComponents\PEC\bin
. Я нахожусь на машине с Windows, поэтому запуск where node
показал два конфликтующих "node" исполняемых файла в пути.
Чтобы устранить проблему, я просто удалил каталог CA из переменной среды PATH
.
Ответ 5
Вы также можете расставить приоритеты в окружающей среде. Шаги: Компьютер → Щелкните правой кнопкой мыши → Свойства → Расширенные настройки системы → Переменные среды → PATH (в списке системных переменных) → Изменить → Приоритет при перемещении вверх
Ответ 6
Я думаю, что вы используете неправильную команду node.
Попробуйте найти или повторно загрузить вашу установку nodejs и добавить ее в свой путь в качестве первого каталога. Если вы используете linux или unix, вы можете попробовать "which node", чтобы увидеть, что выполняется.
Обратите внимание, что в некоторых случаях исполняемый файл node.js называется nodejs, поэтому вы можете попробовать
nodejs server.js
, а также
Ответ 7
Я использовал командную строку node.js вместо командной строки Windows по умолчанию, и это сработало для меня. Не знал, почему он не работал в командной строке Windows по умолчанию.
Ответ 8
Конфликт в Харвесте был моей точной проблемой. Спасибо за публикацию. Также, чтобы добавить, проверьте обе переменные пути, чтобы подтвердить и перезапустить свой терминал, прежде чем повторять инициализацию.
Ответ 9
Я столкнулся с той же проблемой и просто изменил имя файла node.exe
у Harvest. Это не сломало ничего из Harvest, и я могу продолжать работать с ним.
Измените имя команды урожая на node_.exe
:
ren "C:\Program Files (x86)\CA\SharedComponents\PEC\bin\node.exe" "C:\Program Files (x86)\CA\SharedComponents\PEC\bin\node_.exe"
Ответ 10
Я также работал с той же проблемой - при определении пути для использования окон ниже параметра
Окна:
set NODE_PATH=C:\nodejs
ИЛИ
Задайте переменную окружения для nodejs
NODE_PATH=C:\nodejs
Path= C:\nodejs
(добавьте путь, содержащий эту строку "c:\nodejs" )