balbuf/drupal-libraries-installer

通过在您的composer.json文件中进行简单列表安装Drupal库

安装次数: 214,619

依赖者: 0

建议者: 0

安全性: 0

星级: 13

关注者: 3

分支: 6

开放性问题: 7

类型:composer-plugin

v1.0.1 2018-01-25 01:57 UTC

This package is auto-updated.

Last update: 2024-09-07 15:28:14 UTC


README

Drupal Libraries Installer是一个composer插件,允许轻松管理Drupal模块/主题所需的外部库,这些库无法作为composer包提供。此插件是管理Drupal站点的所有外部依赖项的另一个解决方案:在单个位置,即composer.json文件中。

使用方法

  1. Drupal Libraries Installer添加到您的Drupal站点项目中

    composer require balbuf/drupal-libraries-installer
  2. 通过在extra中的drupal-libraries属性中添加库到您的composer.json文件。使用库的名称作为键,将其分发的ZIP文件URL作为值来指定库

    {
        "extra": {
            "drupal-libraries": {
                "flexslider": "https://github.com/woocommerce/FlexSlider/archive/2.6.4.zip",
                "chosen": "https://github.com/harvesthq/chosen/releases/download/v1.8.2/chosen_v1.8.2.zip"
            }
        }
    }

    下面是如何找到GitHub仓库的ZIP URL的说明。

  3. 确保类型为drupal-library的composer包配置为安装到正确的路径。默认情况下,composer/installers(此插件的依赖项,可能已包含在您的项目中)将这些包安装到您的仓库根目录下的/libraries/{$name}/。您可能希望通过composer.json中的installer-paths属性(在extra中)来更改此设置

    {
        "extra": {
            "installer-paths": {
                "web/libraries/{$name}/": ["type:drupal-library"]
            }
        }
    }

    有关installer-paths属性的更多信息,请参阅composer/installersREADME

  4. 运行composer install。在运行composer installcomposer update时,将下载并解压库。要升级库,只需在您的composer.json文件中更换其URL,然后再次运行composer install即可。

如何将GitHub仓库引用为ZIP文件

如果您被指示从GitHub仓库下载库,请按照以下说明查找代码库的ZIP文件版本链接

首选方法

最好引用库的特定版本,以确保每次每个项目用户都下载相同的代码版本。要查看可用的版本

  1. 单击GitHub仓库主页顶部附近的“X个版本”链接(其中X是某个数字)。您也可以通过将“/releases/”附加到仓库主页URL来访问版本页面,例如,对于https://github.com/harvesthq/chosen,您将转到https://github.com/harvesthq/chosen/releases/

  2. 识别您想使用的版本。除非模块注明了特定的版本要求,否则您可能想使用最新版本。

  3. 对于该版本,找到“资产”部分。如果仓库提供了自己的分发ZIP文件,它将是列表中的第一个文件之一。如果是这样,您将希望首先尝试使用它,以防它包含在仓库中不可直接获得的预构建文件。否则,使用该版本的“源代码(zip)”链接。只需复制要用于您的composer.json文件的所需链接的URL。

备选方法

如果库不提供任何版本,您仍然可以将其以ZIP文件的形式引用。缺点是每次下载此ZIP时,其内容都可能根据仓库的状态而更改。无法保证项目用户将具有库的相同版本。

  1. 单击仓库主页上的绿色“克隆或下载”按钮。

  2. 复制用于您的composer.json文件的“下载ZIP”链接的URL。

注意

  • 目前仅支持ZIP文件。
  • 此插件旨在与根包一起使用(即Drupal站点仓库)并且不会在依赖项的composer.json文件中查找库(例如,贡献模块)。
  • 此插件本质上是一个快捷方式,用于明确声明项目中需要包含的每个库zip文件的composer包信息,例如:
    {
        "repositories": [
            {
                "type": "package",
                "package": {
                    "name": "harvesthq/chosen",
                    "version": "1.8.2",
                    "type": "drupal-library",
                    "dist": {
                      "url": "https://github.com/harvesthq/chosen/releases/download/v1.8.2/chosen_v1.8.2.zip",
                      "type": "zip"
                    }
                }
            }
        ],
        "require": {
            "harvesthq/chosen": "1.8.2"
        }
    }
    虽然这种方法完全可行,并且不需要额外的插件即可直接使用,但它也很繁琐,不太友好,而且相当冗长,给您的composer.json文件增加了许多额外的噪声。
  • 库是在实际composer包安装之后安装的,并且不受composer固有的依赖解决算法的影响。这意味着不能指定兼容版本的范围(相反,必须选择库的特定版本的分发文件),并且如果库有其他额外的库依赖项,这些依赖项必须显式地添加到列表中。
  • 由于库是在composer包之后安装的,因此可能会发生安装路径冲突,导致此插件安装的库覆盖composer包。
  • 尽管许多库是基于JS和/或CSS的,并通过npm提供,但没有方法可以直接将这些包安装到正确的/libraries/文件夹中。此外,模块通常将它们的外部库需求列为例表到ZIP分发文件或GitHub存储库的链接,这使得使用此插件以这种方式引用和拉取这些依赖项变得更加容易。
  • 此插件仅作为模块和主题之间外部库依赖项管理更广泛问题的短期解决方案。