Nodejs似乎无法正常工作;但npm可以正常工作

4

一周前,我正常运行Node.js和Node-RED(依赖于Node.js)。我的系统是Windows 8.1 64位。

然而,今天我遇到了一个问题:

像往常一样,我进入node-red文件夹,并运行node red.js。然后,惊讶地发现从提示符中得到了以下消息:


Node Commands

Syntax:
    node {operator} [options] [arguments]

Parameters:
        /? or /help   - Display this help message.
        list          - List nodes or node history or the cluster
        listcores     - List cores on the cluster
        view          - View properties of a node
        online        - Set nodes or node to online state
        offline       - Set nodes or node to offline state
        pause         - Pause node [deprecated]
        resume        - Resume node [deprecated]

For more information about HPC command-line tools,
see http://go.microsoft.com/fwlink/?LinkId=120724.

经过评估环境变量、npm和node文件夹等诸多因素,看起来一切正常。但是,当我运行npm -v 命令时,控制台显示 npm 的安装版本。而当我运行node -v 命令时,我得到与上述相同的消息...我记得当我第一次安装 Node.js 时,我可以看到已安装的 node.js 版本。

这些日子里,我进行了 Linux Ubuntu 14.04 的双重启动,我认为这可能是问题所在(我进行了 CCLEANER 分析,删除了一些 Windows 注册表)。

目前,与它们相关的我的个人/用户路径变量是:C:\Program Files\nodejs

系统环境变量是:C:\Program Files\nodejs

PS:

  • Node.js控制台(node.exe)通常会打开。
  • 我尝试以管理员身份和我的用户身份运行提示符。
  • 我需要运行0.10x版本的node.js。这个问题与这个版本(0.10x)有关。

谢谢。


在命令提示符下,您可以运行“where node”并查看它报告的内容,以检查它是否实际上是node.exe。 - jfriend00
谢谢您的回复。我已经尝试了,但是我收到了相同的信息。 - pascoal
是的,我现在明白你的想法了。但是,当我输入“where node”时,提示符上没有返回任何内容。 - pascoal
2个回答

11

很可能你安装了 Microsoft HPC 包,它有自己的 node.exe,这个可执行文件被选择了。

如果你没有使用它,我建议你删除它以使事情更清晰。否则,如果你确定已经从node.js 网站(例如,Windows 安装程序)安装了 node.js,请确保你 %PATH% 中的 node.js 路径在 Microsoft HPC Pack 的 node.exe 路径之前,以确保它选择正确的 node.exe。


非常感谢!你救了我的一天。我整个早上都在尝试修复它。而令人惊讶的是,就像我所说的,它一直到今天都很好用。 - pascoal
@pascoal - 我建议运行“where node”的目的是为了查看它是否在运行正确的node.exe。显然,你没有理解我的建议,因为这也会显示出这个问题。 - jfriend00

1

Microsoft HPC Pack bin(C:\Program Files\Microsoft HPC Pack 2008 R2\Bin)文件夹中有node.exe可执行文件,并且在nodejs路径之前设置了路径。我将其删除后,它按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接