作曲家-如何先安装/优先安装特定软件包,然后再安装其他软件包?

时间:2018-10-15 11:22:28

标签: php wordpress composer-php composer-plugin

我已经设置WordPress and obtaining its required plugins via composer了好几年了,效果很好,但是我在安装不知道如何使用{{ 1}}以及不支持非标准WordPress文件夹结构的PaaS。

所以我想知道我是否仍然可以使用composer设置WordPress核心(或任何其他软件包),但我希望首先安装它。

WP_SITEURL中说,您具有以下软件包:

composer.json

上面的{ "name": "test/composer-install-order", "type": "project", "repositories": [ { "type": "composer", "url": "https://wpackagist.org" } ], "require": { "php": ">=7.2", "composer/installers": "~1.6.0", "johnpbloch/wordpress": "^4.9", "wpackagist-plugin/better-search-replace": "*", "wpackagist-plugin/bugherd": "*", "wpackagist-plugin/disable-emojis": "*" }, "extra": { "installer-paths": { "public_html/wp-content/plugins/{$name}/": ["type:wordpress-plugin"], "public_html/wp-content/themes/{$name}/": ["type:wordpress-theme"] }, "wordpress-install-dir": "public_html" }, "config": { "preferred-install": "dist", "optimize-autoloader": true, "sort-packages": true } } 说,您需要 3个插件: 更好的搜索替换,bugherd和disable-emojis

但是当您按下composer.json时:

composer install

您只会在➜ temp1 composer install Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 7 installs, 0 updates, 0 removals - Installing composer/installers (v1.6.0): Loading from cache - Installing johnpbloch/wordpress-core-installer (1.0.0.2): Loading from cache - Installing wpackagist-plugin/better-search-replace (1.3.2): Loading from cache - Installing wpackagist-plugin/bugherd (1.0.0.0): Loading from cache - Installing johnpbloch/wordpress-core (4.9.8): Loading from cache - Installing johnpbloch/wordpress (4.9.8): Loading from cache - Installing wpackagist-plugin/disable-emojis (1.7.2): Loading from cache Writing lock file Generating optimized autoload files ➜ temp1 文件夹中获得 1个插件。原因是因为当您检查上面的打印内容时,在Wordpress核心文件wp-content/plugins之前首先安装了两个插件better-search-replacebugherd。因此,即使johnpbloch/wordpress将这两个插件包都提取到了正确的文件夹中,composer也将它们删除了,因为它覆盖了johnpbloch/wordpress文件夹。

此方法唯一可行的方法是,如果我先在插件之前安装wp-content/plugins,但是由于composer通过johnpbloch/wordpress内容安装,因此我不知道是否可能。

希望有人可以提供帮助。

此致

2 个答案:

答案 0 :(得分:2)

维护者在这里。根据建议,OP在这里打开了一个问题:https://github.com/johnpbloch/wordpress-core/issues/14

我想在此处链接(并在下面复制),以便将来有人遇到此问题时,可以找到一个答案,以阐明正在发生的事情。 :)

从github问题复制的响应:

  

嗨,狼,

     

感谢您提出问题。根本的问题是冲突   在Composer的工作方式和WordPress的默认工作方式之间。

     

如果要使用Composer将WordPress核心作为依赖项进行管理   软件包,则必须使用特定的非标准安装选项   用于WordPress,其核心安装在子目录中,并且   wp-content目录设置为核心软件包之外的位置。   稀有has a great microsite detailing the optimal setup。您还可以检出my sample WordPress package starter package   灵感。您可以阅读有关installing core in a subdirectory的更多信息   和moving wp-content   在法典上。

     

如果您有兴趣阅读有关以下内容的更多信息,   这个问题,请参阅this thread in the installer repository   其中该主题得到了更长的处理。

     

希望有帮助!

答案 1 :(得分:1)

  

johnpbloch/wordpress已将它们删除,因为它覆盖了wp-content/plugins文件夹

当包装开始表现出这种行为时,我什至不知道人们期望什么。我建议您提交一个问题或请求拉动以修改此行为,因为这充其量似乎是有问题的,如果说实话这只是恶意的。

您确定这不是插件路径或wordpress安装程序路径方面的错误配置错误吗?