& # 39; npm # 39;不能识别为内部或外部命令、可操作程序或批处理文件

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

  1. 使用Chocolatey ==>安装npm不被识别
  2. 使用64位nodejs installer from nodejs.org ==>无法识别npm
  3. 在这个阶段,运行where npm会给我c:\User\<Username>\AppData\Roaming\npm,其中没有任何内容
  4. 我发现nodejs安装在C:\Program Files\nodejs中。在这个目录中打开命令提示符可以使npm正常工作。
  5. 因此,我将C:\Program Files\nodejs添加到PATH中,却再次得到了与npm is not recognized相同的错误
  6. nodejs存储库上的一个github问题说我需要重新启动机器,它会修复。但到目前为止,这并没有帮助
  7. 我确实在我的Start -> Programms菜单中看到了一个Node.js图标,它将我带到nodejs控制台,但不确定该如何处理它。

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

编辑

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

编辑

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

1501532 次浏览

添加:

;C:\Program Files\nodejs\

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

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

npm

这应该有用。

安装node后,不要忘记重新启动计算机!这句话难倒了我。

别忘了以管理员身份运行cmd。

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

我遇到了阿苏描述的相同问题,但除此之外,nodejs的PATH条目以反斜杠结束:

C:\Program Files\nodejs\

我还必须删除最后的反斜杠,以使它工作。

要详细说明Breno的回答…对于窗户 7,这些步骤对我有用:

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

现在你可以开始使用NPM!

我在这个AngularJS教程下面安装了nodejs。npm命令工作时,我打开一个新的cmd窗口,但不是在当前的。
所以修复是关闭并打开一个新的CMD窗口

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

  1. 为Powershell添加路径。对我来说,路径是C:\Windows\System32\WindowsPowerShell\v1.0

  2. 然后,我以管理权限打开命令提示符并运行

    @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

  3. < p >其次,choco install nodejs

  4. 重新启动,一切正常工作。尝试在没有管理权限的情况下打开命令提示符并运行npm -v

欢呼。

have a same problem on Windows 8.1 64 bit.
. 事实证明,如果我开始cmd,在文件夹窗口顶部的路径栏中键入它

,当我在文件夹窗口中右键单击,然后从列表中打开命令提示符

当我运行cmd使用运行或只是从cmd.exe可执行文件它工作

有一天,我在自己的Windows 7电脑上遇到了这个问题。问题不在于我的路径,而是我必须使用转义的正斜杠而不是反斜杠,就像这样:

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

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

我安装了Node.js,在尝试安装Ionic和cordova时,使用了这段代码:

npm install -g cordova ionic

我遇到了上面的错误。我添加了“C:\Program Files\nodejs”到我的环境变量“PATH”。但还是无法克服这个问题。结果发现我的PATH变量超过了2048个字符,所以我无法将Nodejs路径添加到它。我不得不删除另一个程序的路径,并添加Nodejs路径。 关闭并重新打开cmd提示符,并尝试再次安装Ionic。 这对我很管用。< / p >

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

  1. 单击windows启动按钮。
  2. 寻找“所有应用程序”,你会看到Node.js和Node.js命令提示符。
  3. 你可以以管理员身份运行Node.js命令提示符,一旦它运行,它就会显示一条消息“你的环境已经为使用Node.js 6.3.0 (x64)和npm设置好了。”

然后它就开始工作了…

我也遇到过这个问题。事实证明,Windows不喜欢在命令行上使用单引号。罪魁祸首是我的一个npm脚本。我把单引号改成了转义双引号:

'npm -s run sass-build'

\"npm -s run sass-build\"

我用一个新的答案更新了这个帖子,因为我在不少于一周的时间里找到了解决我痛苦处境的方法……

对于那些仍然遇到错误,即使他们的路径值设置正确,检查你的paextt变量的值(默认值在windows 7 +): .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

我只设置为:. bat,改变它就解决了问题。我想知道为什么没有人提起这件事…

希望这能有所帮助!

我们只需要安装nodejs,其他什么都不需要做,然后使用命令提示符,将目录切换到你想要安装npm的项目,然后使用npm install命令。这对我很有效。

对于窗户用户:一图胜千言 enter image description here < / p >

参考:NPM不被视为内部或外部命令(注:这是我自己的博客)

对我来说,将path添加到path没有做到这一点。 相反,运行c:\Program Files\nodejs\nodevars.bat,它将为你完成工作

好吧,在我的情况下,通过Mocha做测试,我尝试了一切,只是意识到我必须删除我的测试用例脚本标记package.json内的单引号。

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

package.json

之前:

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

After(删除单引号- npm run test):

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

对我有用,以防别人也被困在这事上。

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

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

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


如果Nodejs安装成功,仍然显示如下信息:

'npm'不能被识别为内部或外部命令、可操作程序或批处理文件。

Windows用户请执行以下步骤:

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

    请注意:如果你已经在其他驱动器上安装了nodejs,那么请按照相应的操作

  8. 点击好吧所有打开的对话框

非常重要: < >强“关闭命令提示符并重新启动” (这非常重要,因为如果你没有重新启动命令提示符,那么更改将不会被反映。

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

通过命令查看npm config:

npm config list

它需要属性:“prefix”,全局“prefix”和“node bin location”。

; 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;

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

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

重新启动VS代码工作!

如果你使用ms build工具安装node,路径如下:

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

如果一切看起来都很好。我建议检查这个PATHEXT . cmd必须添加。 enter image description here < / p >

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

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

enter image description here

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

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

  1. 卸载已安装的节点版本,例如“nvm uninstall 10.15.3
  2. 确保没有其他节点版本,nvm list
  3. 然后,安装所需的版本,例如nvm install 10.15.3。这将为您提供前面所述的输出。
Downloading node.js version 10.15.3 (64-bit)...
Complete
Creating C:\Users\SibeeshVenu\AppData\Roaming\nvm\temp


Downloading npm version 6.4.1... Complete
Installing npm v6.4.1...


Installation complete. If you want to use this version, type


nvm use 10.15.3
PS C:\Users\SibeeshVenu> nvm use 10.15.3
Now using node v10.15.3 (64-bit)
  1. 请注意,从上面的命令中,也安装了npm。
  2. 现在使用你需要的版本,nvm use 10.15.3并输入npm

enter image description here

你只需要将它添加到你的环境变量:

第一步:在搜索栏中写env

< >强或 右键单击开始按钮->系统→高级系统设置->环境变量……→选择路径< / p >

在搜索栏中写入env

第二步:点击新建按钮,添加如下路径:

;C:\Program Files\nodejs\

choose path

在环境变量路径中添加;C:\Program Files\nodejs\即可解决此问题

你不需要“安装”;node . js。只需从https://nodejs.org/en/download/releases/下载包并在某处提取内容。然后,在命令提示符中,您可以使用cd导航到那里。然后你可以从那个位置运行npm。虽然在运行它之前必须执行cd C:\Users\YourAcct\Documents\node-v16.13.0-win-x64或类似的命令,但这是一种将它放到计算机上并运行npm的方法,而不必成为管理员或编辑环境变量。

我不知道为什么大多数用户建议;/在命令中。 我通过移除;和/ < / p >

之前

;C:\Program Files\nodejs\

后的解决方案

C:\Program Files\nodejs

您需要将它们保存到系统PATH变量中

在尝试了我在YouTube和stackoverflow上找到的各种解决方案来解决这个问题后,所有的努力都无济于事。

我猜这个问题一定是因为节点必须被移动到不同的文件夹而不是<C:\Program Files>所以我所做的就是卸载节点,然后重新安装它,一切都恢复正常。

我相信这个过程之后你就会没事的。

将所有提示放在一边,只需在cmd中运行以下一行

> SET PATH=C:\Program Files\Nodejs;%PATH%
< p > 这将是完美的解决方案: < br > 一旦安装nodejs→请重启笔记本电脑
然后设置路径(系统属性->环境设置->C:\Program Files\ nodejs)
现在打开cmd和类型->C:\Users\solomon\Desktop\ react-project> npm的开始 它会起作用的。由于< / p >

问题出在系统策略上。我已经尝试了以下评论在权力脚跟,然后它开始工作

$> Set-ExecutionPolicy Unrestricted -Scope CurrentUser -Force
$> npm install -g npm-windows-upgrade
$> npm-windows-upgrade

我从下面的链接得到这个想法

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

如果安装了NVM(节点版本管理器),也会出现此问题。然后我们尝试通过“npm install"命令。

解决方案:

  1. 只需更改名为"NVM_SYMLINK"的环境变量;文件夹路径 你安装Node.exe"
  2. 重启你的电脑,你的问题就解决了。

步骤1:安装NodeJs

步骤2:设置环境路径

enter image description here

第三步:重启电脑一次

当我试图使用nvm使用另一个版本的node时,出现了这个问题。我从外部安装node,然后尝试使用nvm使用另一个节点版本。这就是为什么npm不能被识别。所以,这就是我所做的:

  1. 删除node . js
  2. 通过NVM方式安装指定版本的节点

NVM安装12

  1. 使用NVM使用该版本

NVM安装12.22.12