无法将“ npm”识别为内部或外部命令,可操作程序或批处理文件


201

我对Node.js完全陌生。我正在尝试让nodejs在Windows 2008机器上工作,以便安装Karma,我将用它来TDD AngularJs代码。到目前为止,我已经完成了以下步骤

  1. 无法识别使用Chocolatey ==> npm进行的安装
  2. 无法识别使用来自nodejs.org的64位nodejs安装程序进行安装==> npm
  3. 在这个阶段,跑步where npm给了我c:\User\<Username>\AppData\Roaming\npm一点力量
  4. 我发现nodejs已安装在中C:\Program Files\nodejs。在此目录中打开命令提示符可以npm正常工作。
  5. 所以我添加C:\Program Files\nodejsPATH只能再次证明得到同样的错误npm is not recognized
  6. nodejs存储库上的github问题之一说,我需要重新启动机器,它将修复。但这到目前为止没有帮助
  7. 我确实Node.jsStart -> Programms菜单中看到一个图标,该图标将我带到nodejs控制台,但不确定该怎么做。

我错过了过程中的任何重要步骤吗?

编辑

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

编辑

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


8
添加到后PATH,您是否重新启动了命令行? PATH仅在初始化新的命令行会话时加载。
戴文·崔顿

是的,戴文,我已经几次重启了命令行
Suhas 2014年

我有:在我的系统“C:\ Program Files文件\的NodeJS \” PATH,一切都在Windows 7的工作
达文特赖恩

5
您可以打开一个新的命令提示符并键入PATH(单击<enter>)并再次检查是否在其中看到“ C:\ Program Files \ nodejs \”吗?
戴文·崔顿

1
是的,我确实有C:\Program Files\nodejsPATH
苏哈斯

Answers:


346

只需添加:

;C:\Program Files\nodejs\

在“系统属性上“环境变量”“用户变量”部分的路径变量末尾。

之后,重新打开命令提示符并键入

npm

这应该工作。


4
我不接受答案的原因是我已经有了该路径条目。它不起作用的原因是不同的。我给了一个竖起大拇指的回答虽然
苏哈斯

4
分号分隔您可以拥有的不同用户变量。因此,通常您的环境变量中已经有一些路径,要添加一个新路径,首先需要在要添加的路径之前添加一个分号来与其他路径分开。
布雷诺2014年

2
请花点时间在“用户变量”上找到如何添加<code>; C:\ Program Files \ nodejs \ </ code>。在下面共享以下内容:1:打开“系统属性”窗口(开始->设置->控制面板->性能和维护->系统)。2.选择高级选项卡。3.单击环境变量按钮。在“用户变量” 4.Click新建按钮5.add “路径”和“C:\ Program Files文件\的NodeJS \”
温家宝

6
node.js安装程序已经为我添加了path变量。但是我在命令行上仍然没有npm。
MrFox

7
你重启了@MrFox吗?
布雷诺2014年

116

安装节点后,不要忘记重启计算机!那一个让我。


如果使用Chocoletey安装,则不确定是否需要。
Suhas 2014年

58
您不必重新启动,而只需关闭终端并再次打开即可。
fish鱼2014年

5
重新启动,重新启动,重新启动!
安德鲁·戴

@Suhas…赢得10-管理员PS提示符-choco install nodejs-重新启动了代码…仍然不得不重新启动
felickz

VS Code会自动更新。必须重新启动,其他任何工作。
TDP

33

详细阐述Breno的答案 ...对于Windows 7,这些步骤对我有用:

  1. 打开控制面板(单击开始按钮,然后单击控制面板
  2. 点击用户帐户
  3. 单击更改我的环境变量
  4. 选择路径,然后单击编辑...。按钮
  5. 在变量值的末尾,添加 ;C:\Program Files\nodejs
  6. 单击确定在“编辑用户变量”窗口,然后单击确定的“环境变量”窗口
  7. 启动命令提示符窗口(“开始”按钮,然后键入cmd在搜索中并按Enter键)
  8. 在提示符(C:\>)中,键入npm并按回车;您现在应该看到一些帮助文本(Usage: npm <command>等),而不是“ 无法识别npm ...

现在您可以开始使用npm了


6
在某些系统上可能是;C:\Program Files(x86)\nodejs
kaiser 2014年


16

不要忘记以管理员身份运行cmd。


我在外面安装了Node Program Files,这解决了问题。谢谢。
Pauline

所有人都错过了这么简单的事情。谢谢劳尔。您的回答是最后但并非最不重要的问题。谢谢男人
Gaurav khurana

12

我遇到了Ashu所述的相同问题,但除此之外,nodejs的PATH条目以反斜杠终止:

C:\Program Files\nodejs\

为了使它起作用,我还必须删除最后的反斜杠。


1
您写了“另外”,但是我唯一要做的更改是删除Path系统环境变量中的尾斜杠。
Scott Munro

9

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


7

只需从这里https://nodejs.org/en/下载并安装Node.js。

如果您运行下载的文件并安装它,它们将自动为您的系统配置

您不再需要任何其他配置,现在您可以在任何地方使用npm命令


如果成功安装了Nodejs,但仍显示如下消息:

无法将“ npm”识别为内部或外部命令,可操作程序或批处理文件。

对于Windows用户,请按照以下步骤操作:

  1. 转到我的电脑属性
  2. 从窗口的左栏中单击“ 高级系统设置 ”。
  3. 现在,您有一个系统属性窗口。点击高级
  4. 然后,单击环境变量按钮
  5. 现在,您有了“环境变量”窗口:从“ 系统变量”中,选择“ 路径”
  6. 点击编辑
  7. 在变量值的末尾,添加 ;C:\Program Files\nodejs\

    注意:如果已在其他驱动器上安装了nodejs,请采取相应措施。

  8. 单击确定,所有打开的对话框

非常重要的注意“关闭命令提示符并再次重新启动” (这很重要,因为如果不重新启动命令提示符,则更改将不会得到反映。)

现在您可以在任何地方使用npm命令


6

如果使用的是VS Code,请关闭VS Code,然后再次打开。

我尝试关闭终端,然后打开新终端,但是没有用。

重新启动VS Code即可!


4

在Windows 8.1 64位上也有同样的问题。
事实证明,如果我通过在文件夹窗口顶部的路径栏中键入cmd来启动cmd,
或者
当我在文件夹窗口中右击并从列表中打开命令提示符时,就会遇到该问题。

当我使用cmd.exe可执行文件中的“运行”或“运行”来运行cmd时,它可以工作。


4

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


4

您可能已经收到了答复,但这可能会帮助其他人,因为我最近遇到了同样的问题,而这就是我所做的:

  1. 提供了Powershell的路径条目。对我来说,路径是C:\ Windows \ System32 \ WindowsPowerShell \ v1.0
  2. 然后我以管理特权打开了cmd提示符,并复制了此命令

    @powershell -NoProfile -ExecutionPolicy不受限制-命令“ iex((新对象net.webclient).DownloadString(' https://chocolatey.org/install.ps1 '))” && SET PATH =%PATH%;%ALLUSERSPROFILE% \ chocolatey \ bin

进入cmd提示符。

  1. 接下来,choco安装nodejs
  2. 重新启动,一切正常。尝试在没有管理员特权的情况下打开cmd并运行npm -v Cheers。

3

我也遇到了这个问题。事实证明Windows在命令行上没有单引号。罪魁祸首是我的npm脚本之一。我将单引号更改为转义的双引号:

'npm -s run sass-build'

\"npm -s run sass-build\"

3

我用一个新的答案更新了这个线程,因为在不少于一周的时间里我找到了解决我痛苦状况的解决方案...

对于即使设置了正确的路径值仍仍然遇到错误的用户,请检查您的pathext变量是否具有该值(Windows 7 +中的默认值):.COM; .EXE; .BAT; .CMD; .VBS; .VBE ; .JS; .JSE; .WSF; .WSH; .MSC

我的只设置为:.BAT并对其进行更改解决了该问题。我不知道为什么没人提出这个...

希望这可以帮助!


2

我按照AngularJS教程安装了nodejs 。当我打开一个新的cmd窗口时,npm命令确实起作用了,但是在当前窗口中却没有。
因此,解决方法是关闭并打开一个新的cmd窗口


2

前几天,我在Windows 7计算机上遇到了这个问题。问题不是我的问题,但是我不得不使用转义的正斜杠而不是像这样的反斜杠:

"scripts": {
    "script": ".\\bin\\script.sh"
}

2

如果软件包安装成功,并且仍然显示消息“ 'npm'未被识别为内部或外部命令,可操作程序或批处理文件。

  1. 单击Windows开始按钮。
  2. 查找“ ALL APPS ”,您将在其中看到Node.js和Node.js命令提示符。
  3. 您可以以管理员身份运行Node.js命令提示符,并在其运行后立即显示消息“您的环境已设置为使用Node.js 6.3.0(x64)和npm。”

然后从那里开始工作...


1

我安装了Node.js,并在尝试使用以下代码安装Ionic和Cordova时:

npm install -g cordova ionic

我遇到了以上错误。我在环境变量“ PATH”中添加了“ C:\ Program Files \ nodejs”。但是仍然无法解决这个问题。原来我的PATH变量长于2048个字符,因此无法向其添加Nodejs路径。我必须删除另一个程序的路径并添加Nodejs路径。关闭并重新打开cmd提示符,然后尝试再次安装Ionic。这对我有用。


1

对我来说,将路径添加到PATH并不能解决问题。c:\Program Files\nodejs\nodevars.bat改为运行,它将为您完成工作


1

好吧,在我通过Mocha进行测试的情况下,我尝试了所有事情,只是意识到我必须删除测试用例脚本标签内的单引号 package.json

我正在mocha所有*.test.js文件上运行测试用例,如下所示:

package.json

之前:

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec 'npm run test'"
  }

之后(删除单引号-npm运行测试):

 "scripts": {
    "test": "mocha server/**/*.test.js",
    "test-watch": "nodemon --exec npm run test"
  }

为我工作,以防万一其他人也陷入困境。


1

如果一切看起来都很好。我建议检查是否必须添加PATHEXT .CMD。 在此处输入图片说明


您的回答解决了100%我的问题。谢谢。
Gauthier Buttez

0

对于Windows8的右键点击我的电脑属性然后单击环境变量用户变量或系统变量>>新>>把变量名和路径:像这样的C:\Program Files\nodejs 那么好了,现在打开cmd并型NPM它会工作


2
嗨!欢迎来到SO。请查看有关如何回答的帮助部分。这与以前发布的答案有何不同?与Windows 7的@Luke答案有什么特别的区别吗?;路径中提到的问题不适用吗?如果您只是确认,是的,接受的答案仍适用于Windows 8,请考虑删除您的答案,并将信息添加为接受的答案的注释。如果您要提出一些新建议,请更新您的答案以反映出来。最佳
wahwahwah

0

仅需2个步骤1.手动下载nodejs,现在转到该路径,例如C:\ Program Files \ nodejs \。2.接下来添加一个新路径,例如name:路径和变量名:C:\ Program Files \ nodejs \单击确定并关闭cmd提示。重新打开并在提示符下键入npm


0

通过命令检查npm config:

npm config list

它需要属性:“前缀”,全局“前缀”和“节点箱位置”。

; userconfig C:\Users\username\.npmrc
cache = "C:\\ProgramData\\npm-cache"
msvs_version = "2015"
prefix = "C:\\ProgramData\\npm"
python = "C:\\Python27\\"
registry = "http://registry.com/api/npm/npm-packages/"

; globalconfig C:\ProgramData\npm\etc\npmrc
cache = "C:\\ProgramData\\npm-cache"
prefix = "C:\\ProgramData\\npm"

; node bin location = C:\Program Files\nodejs\node.exe
; cwd = C:\WINDOWS\system32

在这种情况下,需要将以下路径添加到环境变量PATH的末尾:

;C:\Program Files\nodejs;C:\ProgramData\npm;

0

如果使用ms build工具安装节点,则路径在此处:

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VisualStudio\NodeJs

-2

我们需要安装nodejs,而无需执行其他任何操作,然后只需使用命令提示符并将目录更改为要在其中安装npm的项目,然后使用npm install命令即可。它为我工作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.