如何在Drupal 8中使用Composer安装自定义模块及其依赖项

时间:2019-02-11 07:42:27

标签: drupal composer-php drupal-modules drupal-8

您好,我正在尝试使用composer设置新的Drupal 8网站,但是遇到的问题很少。

我尝试按照here中的指南设置站点,并能够成功设置站点。

之后,我尝试安装一个托管在Bitbucket上的自定义模块,并能够使用composer下载该软件包,但问题是该模块具有其他贡献的模块依赖性,但是该依赖性模块未与自定义模块。

我遵循了here中的指南,并将composer.json文件和依赖项一起添加到了我的自定义模块中,但是在运行composer require custom/custom_module之后,仅安装了自定义模块,而没有安装依赖项。

我的根目录composer.json文件存储库部分如下所示:

"repositories": [
    {
        "type": "composer",
        "url": "https://packages.drupal.org/8"
    },
    {
      "type": "package",
      "package": {
        "name": "custom/custom_module",
        "version": "master",
        "type": "drupal-custom-module",
        "source": {
          "type": "git",
          "url": "git@bitbucket.org:username/custom-module.git",
          "reference": "master"
        }
      }
    }
],

,自定义模块中的composer.json文件如下所示:

{
    "name": "custom/custom_module",
    "description": "This is a Custom Module with Different functionalities.",
    "type": "drupal-custom-module",
    "minimum-stability": "dev",
    "require": {
        "drupal/restui": "~1.16"
    }
}

我也将"drupal/restui": "~1.16"行标记为"drupal/restui": "^1.16",但没有成功。

我什至尝试在自定义模块目录中运行composer update,因为我不确定是否将依赖项与自定义模块一起安装。

在自定义模块目录中运行composer update后,出现以下错误:

  

您的要求无法解决为一组可安装的软件包。

     

问题1       -找不到任何版本的要求的drupal / restui软件包,可能是软件包名称中的错字。

     

潜在原因:    -包裹名称中有错字    -根据您的最小imum-stability设置,该软件包没有足够稳定的版本      有关更多详细信息,请参见https://getcomposer.org/doc/04-schema.md#minimum-stability。    -这是一个私人包裹,您忘了添加自定义存储库来找到它

     

阅读https://getcomposer.org/doc/articles/troubleshooting.md了解更多常见问题。

但是在Drupal.org上,我可以找到具有该版本here的模块

请帮助我解决问题。

1 个答案:

答案 0 :(得分:0)

尝试一下:

root composer.json部分

 "repositories": [
    {
      "type": "composer",
      "url": "https://packages.drupal.org/8"
    },
    {
      "type": "vcs",
      "url": "git@bitbucket.org:username/custom-module"
    }
  ],

具有两个模块作为依赖项的模块composer.json示例

{
  "name": "username/custom-module",
  "version": "1.2.3",
  "type": "drupal-custom-module",
  "description": "Custom module",
  "keywords": ["Drupal"],
  "license": "GPL-2.0+",
  "minimum-stability": "dev",
  "repositories": [
    {
      "type": "composer",
      "url": "https://packages.drupal.org/8"
    }
  ],
  "require": {
    "drupal/admin_toolbar": ">=1.2",
    "drupal/chosen": ">=2.6"
  }
}