所以我通过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
我有一个.bowerrc
指向resources/assets/bower
(因为它是一个Laravel项目)。那么我该如何解决这个问题?
答案 0 :(得分:3)
出现此错误的原因是因为bower使用name
来构建目录结构并定义包的实际名称。 jQuery UI Sortable包使用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
目录。