为什么“撰写者更新drupal / drupal”无效?


10

我使用安装了Drupal 8.2.0网站composer create-project drupal/drupal testsite

现在,我想将其升级到Drupal 8.2.1。但是,运行composer update drupal/drupal 不起作用。它显示以下错误:

未安装列出的用于更新的软件包“ drupal / drupal”。无视。

我该怎么做呢?在example.gitignore中清楚地记录了支持。

# Ignore core when managing all of a project's dependencies with Composer
# including Drupal core.
# core

因此,必须有某种方法可以使用作曲家来做到这一点,但是怎么做呢?

Answers:


5

编辑:这可能对我没有帮助b / c我只是重新阅读您的声明,而您没有与我来自旧Drupal 8安装程序的案例相同的案例,但是如果其他人有,我将保留此案例问题,并尝试查看我是否可以找到您遇到的特定问题。抱歉。

在处理最近的更新时遇到了这个问题,这是我的问题,但是是YMMV,所以如果它不起作用,请告诉我。

这可能是因为您将composer文件设置为composer.org上的旧存储库列出的问题。最近,Drupal设置了自己的作曲者端点,一个为Drupal 7,另一个为Drupal8。您可以在此处了解有关此更改的更多信息:https : //www.drupal.org/docs/develop/using-composer/using-composer-通过drupalorg安装drupal软件包

这是在Drupal.org上交换存储库所需的命令。

$ composer config repositories.0 
$ composer https://packages.drupal.org/8

2
来自第二个命令的有趣的错误消息:“在“ https”名称空间中没有定义命令。我现在真的迷路了。
Mojo

4

认为我解决了。我认为我需要一个不同的root composer.json文件来拉入drupal软件包而不是替换它,但是我不知道该怎么做。

幸运的是,已经有人这样做了,并且以对作曲者友好的方式重新打包了Drupal:https : //github.com/drupal-composer/drupal-project(显然,还没有稳定的版本。)

通过使用,composer create-project drupal-composer/drupal-project:8.x-dev --stability dev drupal-dir我能够获得可以用composer更新的安装。


2
该命令composer create-project将请求的项目用作新项目的模板,因此,首次尝试将 git.drupal.org/project/drupal.git用作新项目的模板。使用github.com/drupal-composer/drupal-project作为模板,会使Drupal成为项目的一部分。实际上,它不是使用drupal/drupal而是使用drupal/core(用于核心目录)以及drupal-composer/drupal-scaffold其他重要文件(如index.php和.htaccess)。
David Lanier

3

该命令将composer create-project克隆请求的包,在这种情况下为https://git.drupal.org/project/drupal.git。在项目创建过程的最后,系统将提示您是否要删除现有的VCS历史记录。如果回答了n,您将有一种方法可以从上游drupal存储库进行更新。导航到测试站点,并使用git提取并签出所需的Drupal版本。然后运行composer install以获取更新版本的Drupal的composer.json和composer.lock中标识的依赖项。


3

在命令行上,我们必须要求drupal core(用您的版本代替):

composer require drupal/core:8.6.3 --update-with-dependencies

在替换下的composer.json文件中,我们必须删除“ drupal / core”:“ ^ 8.6”,因此替换如下所示:

"replace": {

},

现在在我们的composer.json文件中。然后,我们运行:

composer update

并将drupal更新为最新版本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.