【问题标题】:'npm' is not recognized as internal or external command, operable program or batch file'npm' 不是内部或外部命令、可运行程序或批处理文件
【发布时间】:2014-01-26 09:08:15
【问题描述】:

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

  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\nodejs 添加到PATH 只是为了再次得到与npm is not recognized 相同的错误
  6. nodejs 存储库上的一个 github 问题说我需要重新启动机器,它会修复。但这到目前为止没有帮助
  7. 我确实在我的Start -> Programms 菜单中看到了一个Node.js 图标,它会将我带到nodejs 控制台,但不知道该怎么做。

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

编辑

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

编辑

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

【问题讨论】:

  • 添加到PATH后,是否重启了命令行? PATH 仅在初始化新的命令行会话时加载。
  • 是的,Davin,我已经重启了好几次命令行了
  • 我的系统 PATH 中有“C:\Program Files\nodejs\”,一切都在 Windows 7 上运行。
  • 你能打开一个新的命令提示符并输入PATH(按)并仔细检查你是否在其中看到“C:\Program Files\nodejs\”?
  • 是的,我在PATH 中有C:\Program Files\nodejs

标签: windows node.js


【解决方案1】:

只需添加:

;C:\Program Files\nodejs\

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

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

npm

这应该可行。

【讨论】:

  • 我没有接受答案的原因是我已经有了那个路径条目。它不工作的原因是不同的。我已经为你的回答竖起了大拇指
  • 分号分隔您可以拥有的不同用户变量。所以通常你的环境变量中已经有一些路径,要添加一个新路径,首先你需要通过在要添加的路径之前添加一个分号来与其他路径分开。
  • node.js 安装程序已经为我放入了路径变量。但是我在命令行上仍然没有 npm。
  • 你重启了@MrFox 吗?
  • 1.检查路径(环境变量) 2. 重启 VS Code。如果它仍然不起作用,请尝试重新启动 PC。如果这不起作用,打破你的电脑
【解决方案2】:

安装节点后不要忘记重新启动计算机!那个抓住了我。

【讨论】:

  • 如果您使用 Chocoletey 安装,不确定是否需要。
  • 您不必重新启动,只需关闭终端并再次打开即可。
  • @Suhas ... win 10 - 管理员 PS 提示 -choco install nodejs - 重新启动代码 ... 仍然必须重新启动
  • VS Code 自行更新。不得不重新启动,没有其他工作。
  • 或“refresnenv”,而不是退出并启动一个新终端
【解决方案3】:

详细说明 Breno's answer... 对于 Windows 7,这些步骤对我有用:

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

现在你可以start using npm!

【讨论】:

  • 在某些系统上可能是;C:\Program Files(x86)\nodejs。
【解决方案4】:

对于 Windows 用户:一张图片说明一千个单词

参考:npm not recognized as internal or external command(注:这是我自己的博客)

【讨论】:

    【解决方案5】:

    如果您使用的是 VS Code,请关闭 VS Code 并重新打开。

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

    重新启动 VS Code 有效!

    【讨论】:

      【解决方案6】:

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

      【讨论】:

      • 我在Program Files 之外安装了节点,这解决了问题。谢谢。
      【解决方案7】:

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

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

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


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

      'npm' 不是内部或外部命令、可运行程序或批处理文件。

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

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

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

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

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

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

      【讨论】:

      • 感谢 Udhav,这对我很有帮助,尤其是最后一个粗体注释:非常重要注意:“关闭命令提示符并重新启动”(这非常重要,因为如果您没有重新启动命令提示符那么更改将不会被反映。)==>谢谢!
      【解决方案8】:

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

      C:\Program Files\nodejs\
      

      我还必须删除最后的反斜杠才能使其正常工作。

      【讨论】:

      • 您写了“附加”,但我必须做的唯一更改是删除 Path 系统环境变量中的尾部斜杠。
      【解决方案9】:

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

      【讨论】:

        【解决方案10】:

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

        如果您在机器中安装节点后开始使用nvmto manage the node versions,您很可能会遇到同样的问题。

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

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

        1. 卸载安装的node版本,例如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

        【讨论】:

        • 您每次使用 NVM 时都必须卸载和安装吗?我想我实际上也有类似的问题。
        • 是的,应该可以。同样,如果我们不运行“npm use ”命令,npm 命令将不起作用。
        • 这对我有用。谢谢!
        【解决方案11】:

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

        【讨论】:

          【解决方案12】:

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

          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. 接下来,choco install nodejs

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

          干杯。

          【讨论】:

            【解决方案13】:

            在 Windows 8.1 64 位上遇到同样的问题。
            事实证明,如果我通过在文件夹窗口顶部的路径栏中键入 cmd 来启动 cmd
            或
            当我在文件夹窗口中右键单击然后从列表中打开命令提示符时,我会遇到这个问题。
            当我使用 Run 或 Just 从 cmd.exe 可执行文件运行 cmd 时,它可以工作。

            【讨论】:

              【解决方案14】:

              如果软件包安装成功并且仍然显示消息“'npm' is not known as an internal or external command, operable program or batch file.”

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

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

              【讨论】:

                【解决方案15】:

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

                'npm -s run sass-build'
                

                到

                \"npm -s run sass-build\"
                

                【讨论】:

                  【解决方案16】:

                  我正在用一个新的答案更新这个帖子,因为我在不少于一周后找到了解决我悲惨处境的方法......

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

                  我的只是设置为 : .BAT 并更改它解决了问题。我想知道为什么没有人提出这个...

                  希望这会有所帮助!

                  【讨论】:

                    【解决方案17】:

                    如果一切看起来都很好。我建议检查一下是否必须添加 PATHEXT .CMD。

                    【讨论】:

                      【解决方案18】:

                      我在this AngularJS tutorial 之后安装了nodejs。当我打开一个新的 cmd 窗口但不在当前窗口中时,npm 命令确实有效。
                      所以解决方法是关闭并打开一个新的 cmd 窗口。

                      【讨论】:

                        【解决方案19】:

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

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

                        【讨论】:

                          【解决方案20】:

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

                          npm install -g cordova ionic

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

                          【讨论】:

                            【解决方案21】:

                            对我来说,将路径添加到 PATH 并没有成功。 改为运行c:\Program Files\nodejs\nodevars.bat,它会为您完成这项工作

                            【讨论】:

                              【解决方案22】:

                              在我通过 Mocha 进行测试的情况下,我尝试了一切只是为了意识到我必须删除 package.json 内的测试用例脚本标签周围的单引号。

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

                              package.json

                              之前:

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

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

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

                              为我工作,以防万一其他人也被困在这上面。

                              【讨论】:

                                【解决方案23】:

                                我不知道为什么大多数用户建议; / 在命令中。 我通过删除解决了这个问题;和/

                                之前

                                ;C:\Program Files\nodejs\
                                

                                解决后

                                C:\Program Files\nodejs
                                

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

                                【讨论】:

                                  【解决方案24】:

                                  通过命令检查 npm 配置:

                                  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;
                                  

                                  【讨论】:

                                    【解决方案25】:

                                    如果您使用 ms 构建工具安装节点,路径在这里:

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

                                    【讨论】:

                                      【解决方案26】:

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

                                      【讨论】:

                                        【解决方案27】:

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

                                        我想问题一定是因为 node 必须已移动到 C:\Program Files> 以外的其他文件夹,所以我所做的是我卸载 node 然后重新安装它,一切都恢复正常了。

                                        我相信你在这个过程之后应该会没事的。

                                        【讨论】:

                                          【解决方案28】:

                                          抛开所有提示,直接在cmd中运行下面一行

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

                                          【讨论】:

                                            【解决方案29】:

                                            这将是完美的解决方案:
                                            一旦安装 nodejs -> 请重启笔记本电脑
                                            然后设置路径(系统属性->环境设置->C:\Program Files\nodejs)
                                            现在打开 cmd 并输入 -> C:\Users\solomon\Desktop\react-project>npm start 它会起作用的。谢谢

                                            【讨论】:

                                              【解决方案30】:

                                              您只需将其添加到您的环境变量:

                                              1st:在搜索栏写env

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

                                              2nd:点击新建按钮,添加如下路径:

                                              ;C:\Program Files\nodejs\

                                              【讨论】:

                                                猜你喜欢
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 1970-01-01
                                                • 2021-02-11
                                                • 2018-08-25
                                                • 2014-06-01
                                                • 2022-01-06
                                                • 2016-07-07
                                                • 2021-12-20
                                                相关资源
                                                最近更新 更多