在Drupal 8中安装不在packagist上的第三方库的最佳方法是什么?
例如,我有Color Field module,可以使用jQuery Simple Color Picker library来提供更好的用户体验。
最明显的解决方案是手动添加库,但这不是真正可维护的。
我的第二个想法是将git存储库添加到我的composer.json中,如下所示,但它不起作用,因为目标存储库没有composer.json文件。
"repositories": [
{
"name": "jquery-simple-color",
"type": "git",
"url": "https://github.com/recurser/jquery-simple-color.git"
}
],
"require": {
"jquery-simple-color/": "1.2.1"
}
我应该只是分叉git存储库并在那里添加composer.json文件吗?
答案 0 :(得分:7)
你是在正确的轨道上,在你的composer.json中你可以制作自己的“包” 例如:
"repositories": [
{
"type": "package",
"package": {
"name": "jquery/simplecolor",
"version": "1.2.1",
"dist": {
"url": "https://github.com/recurser/jquery-simple-color/archive/v1.2.1.zip",
"type": "zip"
},
"type": "drupal-library"
}
}
]
然后将其包括在内
"jquery/simplecolor": "1.2.1,
答案 1 :(得分:1)
最后一个提示:在“repositories”中使用“simplecolor”会导致创建一个名为libraries/simplecolor 的文件夹,这不是Drupal 所期待的。 由于文件夹需要是libraries/jquery-simple-color,所以添加起来更简单:
"repositories": [ {
"type": "package",
"package": {
"name": "jquery/jquery-simple-color",
"version": "1.2.1",
并使用: 作曲家需要 jquery/jquery-simple-color
答案 2 :(得分:0)
这是一个非常简单的补丁,但需要在repo之外的一些进程才能实现。
我创建了一个示例演练,即使用日光浴solr库。
以下是我遵循的步骤:
我安装了Drupal 8并运行了一些测试而没有问题。
我发布了一个不应该测试的补丁,但是要知道我在说什么。
答案 3 :(得分:0)
接受的答案是正确的。但是,我刚刚遇到了一个用于该目的的工具:https://asset-packagist.org/。不必为每个库指定单独的存储库源,而只需另外指定一个:
" foo ".strip()
这将使您可以根据需要使用库。
"repositories": [
{ . . . },
{
"type": "composer",
"url": "https://asset-packagist.org"
}
]
注意:请注意上面的路径:它们不是按用户路径,而是按类型。
对于Drupal项目,您应该指定新可用的安装程序类型,并将每种类型都下载到Drupal "require": {
"bower-asset/bootstrap": "^3.3",
"npm-asset/jquery": "^2.2"
}
目录:
libraries
此外,在必要时,如"extra": {
"installer-types": [
"component",
"bower-asset",
"npm-asset"
],
"installer-paths": {
"web/libraries": [
"type:drupal-library",
"type:component",
"type:bower-asset",
"type:npm-asset"
],
}
}
模块一样,您可以指定每个项目的库路径。您可以告诉它按照Drupal模块的要求下载到colorbox
,而不是将其下载为libraries/jquery-colorbox
,如其文档中所述。
对于Drupal 8.x:下载Colorbox插件并解压缩/ libraries(在您网站的根目录)。确保插件文件的路径变为:“ / libraries / colorbox / jquery.colorbox-min.js”。
方法如下:
注意:自定义的每个项目的库路径是在通用资产类型库路径之前指定的-首先适用,首先使用。
libraries/colorbox
来源:Hawkeye“ Derek DeRaps”嫩狼