【问题标题】:bower command not found windowsbower 命令未找到 windows
【发布时间】:2014-02-12 15:38:27
【问题描述】:

我在尝试使用 bower(安装基础 5)或获取与命令行工作相关的任何 bower 时遇到了很大的问题。

我已经安装了

  • 红宝石 1.9.3
  • git(带有从命令提示符选项运行)
  • Nodejs

我已经成功跑了

npm install -g bower grunt-cli
gem install foundation

这些运行良好。我查看了npm/node_modules 目录,我可以在其中看到bower 文件夹。

每次我将bower 输入cmdruby cmdgit bash 时,我都会得到

命令无法识别

我已经在环境变量中设置了git路径。

令人讨厌的是凉亭网站上的说明。它指出:

npm install -g bower
bower install

这行不通!

【问题讨论】:

  • 我最近写了一篇关于如何开始使用 Bower 的博客文章。它非常基础,并且有一个 github 存储库,您可以在其中签出代码。也许对你有帮助:thelifelifebalance.com/llb-web-app-series-part-1-bower
  • 我也被困了一段时间。一切都已设置好,重新启动,甚至 grunt 都可以正常工作,而 bower 在我的新 Windows 8.1 机器上却没有。直到我进入全局 npm_modules 文件夹并从那里运行 bower,它才变得“不卡住”。 Bower 然后从我的项目文件夹中工作。我重新启动,问题仍然解决...奇怪的答案,我知道,但这就是发生在我身上的事情。

标签: node.js zurb-foundation bower


【解决方案1】:

npm install -g bower 之后我也遇到了这个问题。我通过将 npm 的二进制文件夹添加到我的路径来解决了这个问题。

以下是一些有用的提示:

  1. 查找 npm 全局二进制文件的位置:npm config get prefix。此路径可能类似于 C:\Users\username\AppData\Roaming\npm(或 C:\ProgramData\chocolatey\lib\nodejs.commandline.X.XX.XX\tools,如果您使用 Chocolatey)。
  2. 将步骤 1 中的路径添加到您的路径。

    • 打开 Windows 控制面板,搜索environment,然后单击edit environment variables for your account,或编辑系统环境变量`。

    • 找到名为PathPATH 的变量,如果不存在则创建一个。

    • 在此处粘贴步骤 1 中的路径(; 分隔)。

    • 您可能需要重新启动命令提示符窗口。

  3. 您现在应该可以输入bower 命令了。

【讨论】:

  • 巧克力用户:C:\ProgramData\chocolatey\lib\nodejs.commandline.0.10.33\tools
  • 适用于npm 1.3.2bower 1.7.9
  • 在我的情况下,'C:\Users\username\AppData\Roaming\npm' 已经在环境变量中设置,但是运行 'npm config get prefix' 显示路径中有 .ssh (C:\Users\username\.ssh\AppData\Roaming\npm) 因此在环境变量中覆盖它可以解决问题。
  • for /f %a ('npm config get prefix') do setx path %a
  • 只是为了通知其他人,这对我来说也适用于我在 Windows 上的 Jenkins 上遇到的同样问题,而不是指向 Jenkins 相关诊断的许多答案。
【解决方案2】:

以防万一。

我是一个 npm / bower nooB - 但在我的情况下发生的事情是,我正在使用 Angular JS 教程, 似乎将 bower 设置为通过 npm 使用,而不是直接通过命令行。

注意:在我的情况下,我认为我的凉亭安装搞砸了。 我运行它来修复我的凉亭安装:

npm install -gf bower

然后我编辑了我的 bower.json 文件以添加一个我想使用的新库(在我的例子中是 angular-sanitize)

我 CD 到我的项目所在的位置

cd myProjectPath

然后运行 ​​bower,我实际上使用了 npm install:

npm install

这似乎将 bower 作为节点包运行,它依次扫描 bower.json 并安装任何丢失的 bower 包。

要将 bower 作为 npm 包运行,请在 bower 命令前添加 npm

npm bower -v

希望这会有所帮助,

肖恩

【讨论】:

  • 如何“通过 npm 使用”?
  • 你好 steampowered - 呃说实话,我写这篇文章已经有一段时间了。我想我的意思是运行 bower 的“正常”方式是从命令行: bower 但在上面的文本中我使用的是:npm install
【解决方案3】:

如果上述解决方案不起作用。我认为您应该在命令提示符下指定使用凉亭的绝对路径。在我的应用程序文件夹中,我只是调用

C:\Users\yourusername\AppData\Roaming\npm\bower.cmd install

这是我的 bower.cmd 中的内容。看起来我的窗口无法识别 ~dp0 变量,

node  "C:\Users\yourusername\AppData\Roaming\npm\node_modules\bower\bin\bower" %*

【讨论】:

  • 是的,所以它作为凉亭安装很棒,但我需要它作为凉亭安装:(
  • 收到消息,没有 bower.json 存在
【解决方案4】:

如果您的 Windows PATH 变量接近 1024 个符号长度,这肯定会发生。所以像“C:\Users\username\AppData\Roaming\npm”这样的新链接根本不适合。

检查您的 PATH,删除多余的东西并尝试重新安装 node.js 和 bower 等。还有一个 way 来增加 1024 长度限制

【讨论】:

    【解决方案5】:

    正如其他人提到的,必须将 bower 添加到环境变量中,但最简单的定位方法是先输入你的 npm 位置,然后使用Browse File 并在系统上找到 bower(你可以在搜索栏中搜索它也),因为不同用户的位置可能会有所不同。

    【讨论】:

      【解决方案6】:

      1.输入windows cmd:

      for /f %a ('npm config get prefix') do setx path %a
      

      2。重新加载cmd

      【讨论】:

        【解决方案7】:

        同样的问题。我通过使用另一个版本的凉亭解决了这个问题。当我尝试使用 1.2.6 版时它可以工作

        $ npm install -g bower@1.2.6

        【讨论】:

          【解决方案8】:

          我在安装 Chocolatey 0.9.8.28 后遇到了这个问题。我尝试了此处列出的大多数解决方案,但无法在 Powershell 命令行中识别“bower -v”。这似乎有点奇怪,因为 Chocolatey Install 是“关于”Powershell 的。最终我能够通过设置路径成功,以便 Powershell 可以找到更新的 PATH 变量设置,但我需要帮助来理解为什么以及如何做到这一点,我在下面提供:

          在最初使用 Powershell 失败后,我能够转到标准 DOS 命令行(而不是通过在 powershell 中使用 cmd /c)并成功执行上面讨论的所有路径设置变体,并成功查看了 bower 和DOS 命令行可识别的 bower 命令。并且 cmd 窗口显示完整的更新路径 (C:\ProgramData\chocolatey\lib\nodejs.commandline.0.10.34\tools) - 请注意,版本号可能与尊敬的 KimchiMan 列表中的不同。

          此 PATH 通过关闭和打开新的 DOS 命令行窗口持续存在,但在任何 Powershell 窗口中都无法识别(永远)。

          然后我发现了下面的相关讨论:Set Powershell Path Settings.

          这表明Powershell在启动时识别HKLM路径设置版本。并且可以在会话(非持久)或注册表(持久)中设置路径。以下内容直接来自该讨论。

          这些命令可以为 powershell SESSION 临时设置 PATH:

          $env:Path = 'New path'
          [System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Process')
          

          这些命令可以为所有新的 Powershell 会话永久设置 PATH:

          Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Session Manager\Environment' -Name 'Path' -Value 'New Path'
          [System.Environment]::SetEnvironmentVariable('Path', 'New Path', 'Machine')
          

          但我之前在以编程方式设置注册表设置方面搞砸了,我不相信一两行 PS 脚本完全可以胜任这项任务。 所以我什至没有尝试这个选项。

          相反,我转到控制面板/系统控制台并通过环境变量对话框更改了路径。我注意到我在 DOS 命令行中使用 set PATH 更改路径所做的所有努力在 Windows 会话期间都有效,但是即使 Dos 会话正在运行,新路径条目也没有保留到环境变量/注册表中管理员。

          在我通过控制面板进行此更改后,Chococlatey 的工具文件夹(以及可能所有后续工具安装)中更新的 bower 路径被永久设置,并且 bower 在 DOS 命令行和 Powershell 命令行中都可用。

          希望这会有所帮助...

          【讨论】:

            【解决方案9】:

            卸载 64 位并安装 32 位版本的 nodejs 以及 git- 32 位有效!

            【讨论】:

              【解决方案10】:

              有同样的问题。 我刚刚运行“npm install -g bower”,然后访问了下载它的目录,在我的情况下,位置是“C:\Users\user\AppData\Roaming\npm\node_modules\bower”

              从我运行 bower 的目录中,一切正常,即使从其他目录中也是如此

              【讨论】:

                猜你喜欢
                • 2015-05-07
                • 1970-01-01
                • 1970-01-01
                • 2013-03-28
                • 2012-09-15
                • 2013-04-25
                • 2015-08-11
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多