找不到Bower命令的Windows


107

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

我已经安装了

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

我已经成功跑了

npm install -g bower grunt-cli
gem install foundation

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

我每次键入bower要么进入cmdruby cmd或者git bash我得到

命令无法识别

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

令人讨厌的是凉亭现场的指示。它指出:

npm install -g bower
bower install

好吧,这行不通!



我最近写了一篇博客文章,介绍如何开始使用Bower。这是超级基础,还有一个github回购,您可以在其中签出代码。也许会对您有所帮助:thelifelifebalance.com/llb-web-app-series-part-1-bower
cs_stackX 2014年

2
我也坚持了一段时间。一切都已设置,重新启动,甚至咕unt响了,而凉亭却无法在我的新Windows 8.1计算机上使用。直到我进入全局npm_modules文件夹并从那里运行bower时,它才变成了“ unstuck”。然后,Bower从我的项目文件夹中工作。我重新启动,问题仍然得到解决...奇怪的答案,我知道,但是这对我来说就是这样。
user1889992'4

Answers:


247

我也遇到了这个问题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,或编辑系统环境变量。

    • 查找名为Path或的变量PATH,如果不存在则创建一个。

    • 从此处粘贴第1步的路径(;定界)。

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

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


1
对于巧克力用户:C:\ ProgramData \ chocolatey \ lib \ nodejs.commandline.0.10.33 \ tools
KimchiMan 2014年

适用于npm 1.3.2bower 1.7.9
Animesh Pandey

在我的情况下,已经在环境变量中设置了'C:\ Users \ username \ AppData \ Roaming \ npm',但是运行'npm config get prefix'显示路径中包含.ssh(C:\ Users \ username \ .ssh \ AppData \ Roaming \ npm),因此在环境变量中覆盖它可以解决此问题。
莫尼斯·伊克巴尔

/ f%a('npm config get prefix')做setx路径%a
Alex

只是通知其他人,这对我也解决了我在Windows上在Jenkins上遇到的相同问题,而不是指出Jenkins相关诊断的许多答案。
莫尼斯·伊克巴尔

19

万一这有帮助。

我是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软件包运行,请npm在bower命令之前添加:

npm bower -v

希望这可以帮助,

肖恩


1
如何“通过npm使用它”?
蒸汽动力

您好,蒸汽动力-坦白说,自从我写这篇文章已有一段时间了。我想我的意思是说运行Bower的“正常”方式是从命令行:Bower,但在上面的文本中,我使用的是:npm install
Sean

11

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

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

这是我的bower.cmd中的内容。看来我的Windows无法识别〜dp0变量,

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

是的,所以它作为凉亭安装很棒,但是我需要它作为凉亭安装工作:(
Dragutescu Alexandru

收到消息,没有bower.json存在
hfrog713 '16

2

如果您的Windows PATH变量接近1024个符号长度,则肯定会发生这种情况。因此,诸如“ C:\ Users \用户名\ AppData \ Roaming \ npm”之类的新链接根本不适合该链接。

检查你的PATH,删除多余的东西,并尝试重新安装的Node.js和凉亭等,也有一个办法增加1024长度限制


1

正如其他人提到的那样,必须在环境变量中添加Bower,但是最简单的定位方法是先简单地在npm位置中键入,然后Browse File在系统上使用并定位Bower(也可以在搜索栏中搜索它),因为位置可能因不同用户而异。

我的样本


1

1.输入Windows cmd:

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

2.重新加载cmd



0

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

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

通过关闭和打开新的DOS命令行窗口,该PATH一直存在,但是在任何Powershell窗口中都从未发现过该PATH。

然后,我发现了以下相关讨论:设置Powershell路径设置。

这表明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脚本根本无法完成任务。所以我什至没有尝试这个选项。

相反,我转到“控制面板/系统”控制台,并通过“环境变量”对话框更改了路径。我注意到在Windows会话期间,我在DOS命令行中使用PATH设置路径来更改路径所做的所有工作都已经完成,但是即使Dos会话运行时,新的路径条目也没有持久化到环境变量/注册表中。管理员。

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

希望这可以帮助...


0

卸载了64位,并安装了32位版本的Node.js和git- 32位版本!


0

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

在目录中我运行了bower,即使在其他目录中,一切也都正常运行

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.