【问题标题】:Node JS NPM modules installed but command not recognized已安装 Node JS NPM 模块但无法识别命令
【发布时间】: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 后会收到此错误。

【问题讨论】:

    标签: node.js npm bower


    【解决方案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 文件夹,则您已全局安装它供所有用户访问

    其次:将其添加到路径中

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

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

    本地

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

    全球

    1. 双击“用户变量”部分下的 PATH
    2. 添加 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.

      1. 点击windows开始按钮。
      2. 查找“ALL APPS”,您将在此处看到 Node.js 和 Node.js 命令提示符。
      3. 您可以以管理员身份运行 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 中遇到了同样的问题

          两个解决方案对我有用

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

          2. 使用 Windows power shell 或命令提示符

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2021-11-19
            • 2019-06-02
            • 1970-01-01
            • 2012-08-03
            • 2016-01-01
            • 1970-01-01
            • 2017-01-22
            相关资源
            最近更新 更多