我在名为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.
注意:我已经在我的机器上安装了节点,并且工作正常。
答案 0 :(得分:17)
在我尝试运行cordova命令时得到了这个。解决的步骤:
窗
答案 1 :(得分:11)
当您的系统上安装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
。<Program Files (x86)>\nodejs
添加/移至PATH
环境变量的开头(这是currently accepted answer中的djrpascu)。上述方法存在两个问题:
PATH
,那么您就没有选择权。 (谢谢@Glats)所以我创建了这个小批处理文件,并把它放在我有几个其他个人脚本的目录中(这个目录在我的PATH
中)。 Here's the gist for the script
<强> nodecmd.bat
强>
@echo off
set path=%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;C:\Program Files (x86)\nodejs;
start %ComSpec%
然后,下次要运行Node.js而不是命令提示符时,可以使用"Run..." command打开新脚本。
窗 + - [R
nodecmd
将出现命令提示符。您可以使用此命令提示符轻松运行node
。
此位从PATH
变量
%path:C:\Program Files (x86)\CA\SharedComponents\PEC\bin;=%;
这会添加Node.js的路径:
set path=...;C:\Program Files (x86)\nodejs;
结果是一个字符串,其中包含原始PATH变量减去 Harvest的路径, plus 节点的路径。并在当前批处理文件的范围内设置为PATH变量。
注意: 您可能需要更改脚本中的路径以适应系统中的软件安装文件夹。
下一行,start %ComSpec%
启动命令提示符。到这时,PATH变量被修改。使用已修改的环境变量,您可以在此新命令提示符中运行节点。 环境变量修改不会影响系统的其他部分,确保Harvest SCM软件在不中断的情况下运行。
答案 2 :(得分:3)
不要通过从路径中删除它来破坏Harvest SCM。试试这个,打开你的Windows命令行(cmd),然后传递以下nodejs批处理文件,以便它将命令行设置为nodejs环境。享受那里的节点命令。
C:&GT; “C:\ Program Files \ nodejs \ nodevars.bat”
答案 3 :(得分:2)
这是旧的,但我遇到了同样的问题。完全相同的消息(当然我的机器名称)。问题是路径中有另一个节点可执行,位于C:\Program Files (x86)\CA\SharedComponents\PEC\bin
。我在Windows机器上运行,因此运行where node
显示了两个相互冲突的节点&#34;路径中的可执行文件。
要解决此问题,我刚刚从PATH
环境变量中删除了CA目录。
答案 4 :(得分:1)
您还可以在环境中确定优先级。 脚步: 计算机->右键单击->属性->高级系统设置->环境变量-> PATH(在系统变量列表中)->编辑->向上移动优先级
答案 5 :(得分:0)
我认为你正在运行错误的节点命令。
尝试查找或重新下载nodejs安装,并将其作为第一个目录添加到路径中。如果您正在运行linux或unix,您可以尝试'哪个节点'来查看正在运行的内容。
请注意,在某些情况下,node.js可执行文件称为nodejs,因此您可能需要尝试
nodejs server.js
以及
答案 6 :(得分:0)
我使用了node.js命令提示符,而不是windows default命令提示符,它对我有用。不知道为什么它在Windows默认命令提示符下不起作用。
答案 7 :(得分:0)
我遇到了同样的问题,只是从Harvest更改了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"
答案 8 :(得分:-1)
我也遇到了同样的问题 - 同时在参数
下面定义了windows的路径视窗:
set NODE_PATH=C:\nodejs
OR
为nodejs设置环境变量
NODE_PATH=C:\nodejs
Path= C:\nodejs
(追加路径包含此字符串“c:\ nodejs”)