我对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安装添加了这句令人不安的引用,但我只是不确定是哪一个。


添加:

;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,它应该工作。


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

C:\Program Files\nodejs\

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


为了详细说明布雷诺的回答……对于Windows 7,这些步骤对我来说是有效的:

Open the Control Panel (Click the Start button, then click Control Panel) Click User Accounts Click Change my environment variables Select PATH and click the Edit... button At the end of the Variable value, add ;C:\Program Files\nodejs Click Ok on the "Edit User Variable" window, then click Ok on the "Environment Variables" window Start a command prompt window (Start button, then type cmd into the search and hit enter) At the prompt (C:\>) type npm and hit enter; you should now see some help text (Usage: npm <command> etc.) rather than "npm is not recognized..."

现在你可以开始使用npm了!


我按照AngularJS教程安装了nodejs。npm命令工作时,我打开一个新的cmd窗口,但不是在当前的。 所以解决办法是关闭并打开一个新的cmd窗口。


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

Added a path for Powershell. For me, the path was C:\Windows\System32\WindowsPowerShell\v1.0 Then, I opened the command prompt with administrative privileges and ran @powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin Next, choco install nodejs Restart and everything worked fine. Try opening the command prompt without admin privileges and run npm -v

欢呼。


在64位的Windows 8.1上也有同样的问题。 事实证明,我得到的问题,如果我开始cmd键入在文件夹窗口顶部的路径栏或当我在文件夹窗口中右键单击,然后从列表打开命令提示符。 当我运行cmd使用运行或只是从cmd.exe可执行文件它的工作。


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

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

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


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

安装-g cordova ionic

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


如果软件包已成功安装,但仍显示“‘npm’未被识别为内部或外部命令、可操作程序或批处理文件。”

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

然后它就开始工作了…


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

'npm -s run sass-build'

to

\"npm -s run sass-build\"

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

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

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

希望这能有所帮助!


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


对于Windows用户:一张图片胜过千言万语

参考: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"
  }

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


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

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

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


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

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

Windows用户请执行以下步骤:

进入我的电脑属性 在窗口左侧栏中单击“高级系统设置”。 现在您有了一个系统属性窗口。单击高级 然后,单击环境变量按钮 现在你有了环境变量窗口:从系统变量,选择路径 点击编辑 在变量值的末尾,添加;C:\Program Files\nodejs\ 注意:如果你在其他驱动器上安装了nodejs,请按此操作。 单击“确定”所有打开的对话框

非常重要的提示:“关闭命令提示符并重新启动” (这非常重要,因为如果您没有重新启动命令提示符,则更改将不会反映出来。)

现在你可以在任何地方使用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必须添加。


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

如果在机器中安装节点后才开始使用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


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

第一步:在搜索栏中写env

或 右键开始按钮->系统->高级系统设置->环境变量…->选择“PATH”

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

C: \ Program Files \ nodejs \


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


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


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

之前

;C:\Program Files\nodejs\

后的解决方案

C:\Program Files\nodejs

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


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

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

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


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

> SET PATH=C:\Program Files\Nodejs;%PATH%

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

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

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


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


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

解决方案:

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


步骤1:安装NodeJs

步骤2:设置环境路径

第三步:重启电脑一次


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

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

NVM 安装 12

使用NVM使用该版本

NVM 安装 12.22.12


在我的机器(windows)上用nvm安装node后,我遇到了同样的问题。env变量中的路径包含以下内容:

C:\Users\amohanan\AppData\Roaming\nvm C:\Program Files\nodejs

通过从路径中删除c:\ users \amohanan\ appdata \ roam \nvm并重新启动cmd来解决我的问题。