如何使用Drupal 8和Composer安装模块?

时间:2016-11-29 23:25:47

标签: drupal drupal-8

我通过作曲家安装了Drupal 8:

composer install

这下载了所有文件并运行$ composer require drupal/codesnippet Using version ^1.6 for drupal/codesnippet ./composer.json has been updated > DrupalProject\composer\ScriptHandler::checkComposerVersion Loading composer repositories with package information Updating dependencies (including require-dev) - Installing drupal/codesnippet (1.6.0) Downloading: 100% Writing lock file Generating autoload files > DrupalProject\composer\ScriptHandler::createRequiredFiles 。根据本教程 - https://www.drupal.org/node/2718229 - 这样做也将配置composer.json以允许通过composer安装模块,主题等。尼斯

但是,我正在尝试安装新模块:

Before you can use the CKEditor CodeSnippet module, you need to download the codesnippet plugin from ckeditor.com and place it in /libraries/codesnippet. Check the README.txt for more information. Get the plugin here. (Currently using CodeSnippet version Plugin not detected) 

然而,当我去Admin Bar>延伸>安装新模块,我可以搜索模块,它说它还没有安装。如果我尝试从那里启用/安装它,它告诉我我需要下载并复制到/ libraries目录:

{{1}}

这两种方法完全不同吗?如何使用此模块的编写器完成安装?

2 个答案:

答案 0 :(得分:0)

Composer是一个依赖项管理器,是否包含第三方依赖项取决于模块作者如何管理其依赖项。

如果Composer从其下载其软件包的存储库中没有特定的依赖关系,那么您无法单独通过Composer完成安装。

您必须从ckeditor.com下载CKEditor CodeSnippet模块。 Composer无法为您管理该依赖项,因为CKEditor插件不是Composer包。

您可以在此处下载:http://ckeditor.com/addon/codesnippet

答案 1 :(得分:0)

Martyn,我猜你会把两个不同的东西混淆到同一个:drupal模块和模块所需的外部库。
Drupal模块 codesnippet https://www.drupal.org/project/codesnippet)只是用于CKeditor插件的drupal集成模块,具有相同的名称,您可以将其下载(http://download.ckeditor.com/codesnippet/releases/codesnippet_4.6.2.zip)并将其放入drupal webroot / libraries文件夹手动(在你的情况下my_site / web / libraries /更具体 - 你必须创建它,如果不存在)。

然后你应该能够启用drupal模块。

PS:您也可以手动在composer.json库中添加库需求,这对初学者来说可能稍微复杂一些,因为您还必须手动指定其他内容,如存储库类型,URL和您需要的额外外部库的installer-paths,但从长远来看可能更容易部署具有相同要求的新Drupal8安装,只需使用正确的main composer.json文件,而无需手动下载外部库。我有一个类似的评论(用户zet)你可以阅读这个drupal dropzonejs模块问题https://www.drupal.org/node/2853274