我对nodejs完全不熟悉。我试图让nodejs在我的Windows 2008盒子上工作,以安装Karma,我将用于TDDing我的AngularJs代码。到目前为止,我已经完成了以下步骤

Install using Chocolatey ==> npm is not recognised Install using 64-bit nodejs installer from nodejs.org ==> npm is not recognised At this stage, running where npm gives me c:\User\<Username>\AppData\Roaming\npm which has nothing in it I figure out that nodejs is installed in C:\Program Files\nodejs. Opening a command prompt in this directory makes npm work fine. So I added C:\Program Files\nodejs to PATH only to get the same error again that npm is not recognized One of the github issues on nodejs repository says that I need to restart the machine and it would fix. But that has not helped so far I do see a Node.js icon in my Start -> Programms mennu which takes me to nodejs console but not sure what to do with that.

在这个过程中,我是否错过了任何重要的步骤?

Edit

我发现如果我从程序文件中打开“Nodejs命令提示符”,那么npm是可以识别的。如何让它在正常的命令提示符下工作?

Edit

在node之后,我开始在另一个应用程序中遇到类似的问题。我在超级用户上发布了这个问题,正如被接受的答案所正确指出的那样,我在我的PATH中有一个额外的引用,这导致了引用后添加的所有路径出现问题。我有一种感觉,一些Chocolatey安装添加了这句令人不安的引用,但我只是不确定是哪一个。


当前回答

如果你通过服务帐户(如Visual Studio TFS构建控制器服务或任何其他后台服务)得到这个错误,请确保在安装npm后重新启动服务,因为新的PATH环境设置将不会被那些已经运行的进程拾取。我通过我的构建服务得到了同样的错误,但我已经安装了npm并在控制台中运行。

其他回答

如果你正在使用VS Code,关闭VS Code,然后重新打开。

我尝试关闭航站楼,然后打开新的航站楼,但它没有工作。

重新启动VS代码工作!

添加环境变量路径后,重新启动您的机器,也许这将工作。这对我很管用。我用vm。

我知道这个问题很老了,我们有很多答案,不幸的是,我的情况不同,因此有不同的解决方案。

如果在机器中安装节点后才开始使用nvm来管理节点版本,则很可能会面临同样的问题。

我安装了一个10.15.3版本,然后我不得不使用另一个版本,因为我的一个项目有一些紧密的依赖关系。然后我决定安装nvm,在安装时询问我是否需要nvm来管理我机器上已经安装的10.15.3版本。是的,我答应了,希望它能解决这个问题,不幸的是,它没有。

无论我尝试其他答案中提到的许多其他事情,包括设置路径,我总是得到这个错误。最后,为了解决这个问题,我尝试了这些方法。

卸载已安装的节点版本,例如nvm Uninstall 10.15.3 确保没有其他节点版本在那里,nvm列表 然后安装需要的版本,例如nvm install 10.15.3。这将为您提供前面所述的输出。

下载node.js 10.15.3版本(64位)… 完整的 创建C:\Users\ SibeeshVenu \ AppData \ \ nvm \ temp徘徊 下载npm版本6.4.1…完整的 安装npm v6.4.1… 安装完成。如果您想使用这个版本,请键入 NVM使用10.15.3 PS C:\Users\SibeeshVenu> nvm使用10.15.3 现在使用节点v10.15.3(64位)

请注意,从上面的命令中,也安装了npm。 现在使用你需要的版本,nvm使用10.15.3并输入npm

我遇到了完全相同的问题,并注意到在安装node.js后,在用户变量部分的path中有一个新的路径条目,其值为> c:\ user \AppData\Roaming\npm。此外,系统变量中的Path条目还附加了——> C:\Program Files\nodejs.现在因为用户变量优先于系统,你有两个选项来解决这个问题。从user变量中删除路径或更正正确的路径(C:\Program Files\nodejs)。重新启动CMD,它应该工作。

如果一切顺利的话。我建议检查这个PATHEXT . cmd必须添加。