我在一个名为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,它工作得很好。
9条答案
按热度按时间nhaq1z211#
当我试图运行cordova命令时得到了这个。解决步骤:
windows
1.在CMD提示符中,键入“where node”。正如Michael提到的,这显示了可能的罪魁祸首,您的机器上安装了2个nodejs EXE。
1.导航到开始〉计算机〉右键单击属性〉高级系统设置
1.在高级选项卡下,选择环境变量
1.在系统变量下,选择“路径”变量
1.查找nodejs EXE,通常为“C:\Program Files(x86)\nodejs\”
1.将其剪切并粘贴到“Path”变量的开头。确保路径之间用“;”
1.打开一个新的CMD提示符并再次尝试cordova
3yhwsihp2#
当你的系统上安装了Harvest SCM时,就会发生这种情况。它有一个名为
node.exe
的可执行文件,位于<Program Files (x86)>\CA\SharedComponents\PEC\bin
(其中<Program Files (x86)>
是你的x86程序文件文件夹)。这个路径存在于你的PATH
变量 * before * 到Node.js的node.exe
的路径。nodevars.bat
是一个小脚本,它基本上做了下面描述的相同的事情(但以更安全的方式)。如果你安装了node,这个脚本应该在路径中。(如果没有,请确保将C:\Program Files\nodejs
添加到你的路径中。但请确保将它附加在最后,这样Harvest SCM就不会中断)。你可以做以下两件事来解决这个问题:
1.从
PATH
环境变量中删除<Program Files (x86)>\CA\SharedComponents\PEC\bin
。1.将
<Program Files (x86)>\nodejs
添加/移动到PATH
环境变量的开头(这是来自djrpascu的currently accepted answer)。你可以做得更好!
上述方法存在两个问题:
1.你破坏了Harvest SCM的功能。
1.如果您没有提升的权限来更改
PATH
,您将没有选择。(谢谢@Glats)所以我创建了这个小的批处理文件,并将它放在一个目录中,在这个目录中我有几个其他的个人脚本(这个目录在我的
PATH
中). Here's the gist for the script。nodecmd.bat
**然后,下一次你想运行Node.js,而不是命令提示符,你打开新的脚本与"Run..." command。
Windows + R
nodecmd
这时会出现一个命令提示符,你可以使用这个命令提示符来运行
node
。说明
此位从
PATH
变量中删除Harvest的可执行文件的路径:这将添加Node.js的路径:
结果是一个字符串,其中包含原始PATH变量 * 减去 * Harvest的路径,* 加上 * Node的路径。并将其设置为当前批处理文件范围内的PATH变量。
***注意:***您可能需要更改脚本中的路径,以适应系统中的软件安装文件夹)。
下一行,
start %ComSpec%
启动一个命令提示符。此时,PATH变量已被修改。通过修改环境变量,您可以在这个新的命令提示符中运行node。环境变量修改不会影响系统的其他部分,确保Harvest SCM软件运行时不会中断。kyxcudwk3#
不要将Harvest SCM从path中删除,这会破坏它。尝试这个方法,打开windows命令行(cmd),然后传递以下nodejs批处理文件,这样它会将命令行设置为nodejs环境。享受那里的节点命令。
C:〉“C:\Program Files\nodejs\nodevars.bat”
mznpcxlj4#
您还可以在环境中设置优先级。步骤:计算机-〉右键-〉属性-〉高级系统设置-〉环境变量-〉PATH(在系统变量列表中)-〉编辑-〉通过上移来优先化
olmpazwi5#
这是旧的,但我遇到了同样的问题。完全相同的消息(当然是我的机器名)。问题是路径上有另一个节点可执行文件,在
C:\Program Files (x86)\CA\SharedComponents\PEC\bin
中。我在windows机器上,所以运行where node
显示路径中有两个冲突的“节点”可执行文件。为了解决这个问题,我只是从
PATH
环境变量中删除了CA目录。yquaqz186#
我遇到了同样的问题,只是简单地改变了Harvest的
node.exe
文件的名称。这并没有破坏Harvest的任何东西,我可以继续使用它。将Harvest的命令名更改为
node_.exe
:jq6vz3qz7#
我想你运行的node命令是错误的。尝试定位或重新下载你的nodejs安装,并将其添加到你的路径作为第一个目录。如果你运行的是linux或unix,你可以尝试'which node'来查看正在运行的是什么。请注意,在某些情况下,node.js可执行文件被称为nodejs,所以你可能也想尝试
nodejs server.js
rfbsl7qr8#
我使用node.js命令提示符,而不是windows默认命令提示符,它对我有效。不知道为什么它在windows默认命令提示符下不起作用。
kcrjzv8t9#
我也运行了同样的问题-而定义的路径为windows使用下面的参数
窗口:
或
设置nodejs的环境变量
(追加包含字符串“c:\nodejs”的路径)