已安装 Node JS NPM 模块但无法识别命令

Posted

技术标签:

【中文标题】已安装 Node JS NPM 模块但无法识别命令【英文标题】:Node JS NPM modules installed but command not recognized 【发布时间】:2015-08-23 00:03:33 【问题描述】:

Node JS 和 NPM 之前运行良好。最近我重新安装了 Node JS,NPM 并且问题开始了。在我安装了一个像示例npm install -g bower 这样的模块后,模块安装成功,但bower -v 给出了

'bower' 未被识别为内部或外部命令, 可运行的程序或批处理文件。

我检查了安装路径 C:\Users\XXXXX\AppData\Roaming\npm\node_modules 拥有所有旧安装的模块。我已尝试卸载它们并重新安装模块,但仍然遇到相同的错误。

即使我已经删除了整个文件夹并重新安装了所有模块,但结果是一样的。

我不知道为什么我在重新安装 NodeJS NPM 后会收到此错误。

【问题讨论】:

【参考方案1】:

我遇到了同样的问题,并通过将“npm”目录添加到我的 PATH 来解决它:

右键单击“我的电脑”并转到“属性 > 高级系统设置 > 环境变量”。

双击“用户名的用户变量”部分下的路径,并添加C:\Users\username\AppData\Roaming\npm,显然将“用户名”替换为您的。 根据下面的 cmets,您可能需要将其添加到路径的顶部/前面。

重新启动控制台窗口或 IDE,您应该会从 bower 命令获得响应。

【讨论】:

您也可以使用%APPDATA%\npm 运行。 windows 会知道去哪里看 我已经有了 npm 包的路径,但是我不得不把它移到列表的顶部 这条评论为我解决了这个问题。 IT 应该是答案之一。 @ИскренСтаниславов 将其移至列表顶部是什么意思?我就像你说的那样添加了路径,但仍然没有得到结果。谢谢 我的意思是如果可能的话,它应该是 PATH 列表中的第一个路径。如果不工作,问题可能是别的东西【参考方案2】:

我也遇到了同样的问题,但是全局安装了它,所以其他答案不起作用。

nodeJS 安装可能没有将 npm 添加到您的 PATH 中,因此无法在全局范围内识别。

首先:确定您是全局安装还是为当前用户安装

如果C:\Users\(your username)\AppData\Roaming\npm 有一个 npm 文件夹,您已经为当前用户安装了它

如果在 C:\Program Files\nodejs\node_modules\npmC:\Program Files(x86)\nodejs\node_modules\npm 有一个 npm 文件夹,则您已全局安装它供所有用户访问

其次:将其添加到路径中

    右键单击我的电脑 点击底部的属性 点击左侧栏中的高级系统设置 点击底部的环境变量

现在取决于您是全局安装还是为当前用户安装,将确定您要更新的 PATH 变量以及路径位置

本地

    双击“用户变量”部分下的 PATH 添加C:\Users\(your username)\AppData\Roaming\npm,不带引号

全球

    双击“用户变量”部分下的 PATH 添加 C:\Program Files\nodejs 不带引号(或带 (x86))

终于

关闭所有找不到npm的终端或程序,然后重新打开

【讨论】:

谢谢..您的全球本地事务帮助了我。在我的环境变量中“C:\Program Files\nodejs”丢失了。我不需要在本地用户应用数据中添加文件夹。【参考方案3】:

运行 npm config get prefix 并首先检查正确的 npm 路径,然后使用命令或手动添加将输出附加到 PATH。

npm config get prefix
C:\mydev\tools\npm\npm

set PATH=%PATH%;C:\mydev\tools\npm\npm

【讨论】:

【参考方案4】:

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

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

【讨论】:

【参考方案5】:

您可能应该检查您的 node/bin 目录是否在您的 PATH 变量中。在您安装这些全局模块的位置查找它。

我不在windows上,所以我不能告诉你确切的命令,但你可以检查这些变量导航到[控制面板->系统->高级->环境变量]或类似的东西。

【讨论】:

变量名应该是什么? 这就是我得到的 Path=C:\ProgramData\Oracle\Java\javapath; C:\WINDOWS\system32; C:\WINDOWS; C:\WINDOWS\System32\Wbem; C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x 86)\Brackets\command;C:\Program Files (x86)\nodejs\ PATHEXT=.COM;.EXE;.BAT; .CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC Modules 安装在 Users\XXX\AppData\Roaming\npm\node_modules 我应该在路径中添加这个吗? 还要检查您是否安装了命令行版本,例如要从命令行使用“postcss”模块,您需要安装“postcss-cli”模块而不是“postcss”模块:-)【参考方案6】:

在我的例子中,npm 文件夹已经在 PATH 变量中。

如果在尝试了其他所有方法后仍然无法使其正常工作,请尝试从 PATH 变量中删除该文件夹并将其放在列表的开头。

【讨论】:

【参考方案7】:

我在 Windows 中遇到了同样的问题

两个解决方案对我有用

    如果您使用的是 bash shell,请使用 npm run 示例:$ npm run ng --version

    使用 Windows power shell 或命令提示符

【讨论】:

以上是关于已安装 Node JS NPM 模块但无法识别命令的主要内容,如果未能解决你的问题,请参考以下文章

VS Code中无法识别npm命令

打印所有已安装的 node.js 模块的列表

Node.js入门 02:包管理器npm

node.js 版本升级

Ionic 和 Cordova 已安装,但命令无法识别

Node.js之包命令(npm和yarn)