Bower 找不到包并且无法安装新包
Bower cannot find a package and fails to install new packages
所以我通过 bower
- jQuery UI Sortable
安装。包的文件夹按预期放在我的资产文件夹中。然后我想安装另一个包(例如:noty.js
和 bower install --save noty
),我得到这个:
bower noty#* not-cached https://github.com/needim/noty.git#*
bower noty#* resolve https://github.com/needim/noty.git#*
bower fullcalendar#* cached https://github.com/fullcalendar/fullcalendar.git#3.4.0
bower fullcalendar#* validate 3.4.0 against https://github.com/fullcalendar/fullcalendar.git#*
bower noty#* download https://github.com/needim/noty/archive/v3.1.1.tar.gz
bower noty#* extract archive.tar.gz
bower noty#* resolved https://github.com/needim/noty.git#3.1.1
bower ENOTFOUND Package jQuery UI Sortable=jquery-ui-sortable not found
注意:我也试过安装fullcalendar。
尽管它说它下载了包并提取了 archive.tar.gz
,但在我的项目文件夹中找不到该包。 jQuery UI Sortable
还在。我什至在用它。
bower.json
保持不变。如果我 运行 bower install --save noty
它只是说:
bower noty#* cached https://github.com/needim/noty.git#3.1.1
bower noty#* validate 3.1.1 against https://github.com/needim/noty.git#*
bower ENOTFOUND Package jQuery UI Sortable=jquery-ui-sortable not found
我有一个指向 resources/assets/bower
的 .bowerrc
(因为它是一个 Laravel 项目)。那么我该如何解决这个问题?
出现此错误的原因是因为 bower 使用 name
构建目录结构并定义包的实际名称。 jQuery UI 可排序包在 bower.json
文件中使用大写字母和空格定义名称,如下所示:
{
"name": "jQuery UI Sortable",
"version": "1.0.0",
...
包目录名包含大写字母和空格显然不是一个好主意:
因此,我们需要将名称从 jQuery UI Sortable
更改为 jquery-ui-sortable
并去掉空格和大写字母。为此,我们必须使用 <package_installed_name>=<package_list_name>
定义名称,在我们的例子中为:
bower install --save jquery-ui-sortable=jquery-ui-sortable
执行此操作后,只需安装 noty
即可成功安装:
bower install noty
在尝试使用正确的名称安装 jquery-ui-sortable
之前,请不要忘记删除 bower packages 目录中的 jQuery UI Sortable
目录。
所以我通过 bower
- jQuery UI Sortable
安装。包的文件夹按预期放在我的资产文件夹中。然后我想安装另一个包(例如:noty.js
和 bower install --save noty
),我得到这个:
bower noty#* not-cached https://github.com/needim/noty.git#*
bower noty#* resolve https://github.com/needim/noty.git#*
bower fullcalendar#* cached https://github.com/fullcalendar/fullcalendar.git#3.4.0
bower fullcalendar#* validate 3.4.0 against https://github.com/fullcalendar/fullcalendar.git#*
bower noty#* download https://github.com/needim/noty/archive/v3.1.1.tar.gz
bower noty#* extract archive.tar.gz
bower noty#* resolved https://github.com/needim/noty.git#3.1.1
bower ENOTFOUND Package jQuery UI Sortable=jquery-ui-sortable not found
注意:我也试过安装fullcalendar。
尽管它说它下载了包并提取了 archive.tar.gz
,但在我的项目文件夹中找不到该包。 jQuery UI Sortable
还在。我什至在用它。
bower.json
保持不变。如果我 运行 bower install --save noty
它只是说:
bower noty#* cached https://github.com/needim/noty.git#3.1.1
bower noty#* validate 3.1.1 against https://github.com/needim/noty.git#*
bower ENOTFOUND Package jQuery UI Sortable=jquery-ui-sortable not found
我有一个指向 resources/assets/bower
的 .bowerrc
(因为它是一个 Laravel 项目)。那么我该如何解决这个问题?
出现此错误的原因是因为 bower 使用 name
构建目录结构并定义包的实际名称。 jQuery UI 可排序包在 bower.json
文件中使用大写字母和空格定义名称,如下所示:
{
"name": "jQuery UI Sortable",
"version": "1.0.0",
...
包目录名包含大写字母和空格显然不是一个好主意:
因此,我们需要将名称从 jQuery UI Sortable
更改为 jquery-ui-sortable
并去掉空格和大写字母。为此,我们必须使用 <package_installed_name>=<package_list_name>
定义名称,在我们的例子中为:
bower install --save jquery-ui-sortable=jquery-ui-sortable
执行此操作后,只需安装 noty
即可成功安装:
bower install noty
在尝试使用正确的名称安装 jquery-ui-sortable
之前,请不要忘记删除 bower packages 目录中的 jQuery UI Sortable
目录。