我正在开发一个使用 composer.. 的插件,这意味着它在插件文件夹中有一个供应商文件夹,其中包含 Guzzle HTTP 依赖项
在我们安装了这个插件的 wordpress 网站上,有一个现有的插件有 Guzzle HTTP
现在,当我们激活这个插件时,我收到如下错误:
Fatal error: Cannot redeclare GuzzleHttp\uri_template() (previously declared in /nas/content/staging/project/wp-content/plugins/my-plugin/vendor/guzzlehttp/guzzle/src/functions.php:17) in /nas/content/staging/project/wp-content/plugins/other-plugin/includes/lib/aws-sdk/GuzzleHttp/functions.php on line 31
Run Code Online (Sandbox Code Playgroud)
我尝试安装插件加载顺序以强制“其他插件”在“我的插件”之前首先加载,当前错误发生在其他插件的资源上。这样,错误将在我们的自动加载中产生,我们可以捕获它。
不幸的是..插件加载顺序不起作用..
任何想法如何解决这个问题?
这个问题中描述的 composer-php 存在一个问题:
简而言之,假设我们有一个应用程序MyApp,它依赖于两个第三方库,Foo v1和Bar v1。这两个库反过来都依赖于库Baz v1。我们想升级到Bar v2,但它取决于Baz v2,它具有向后不兼容的更改,因此会破坏Foo v1。
是否有任何工具可以指向一个composer.json文件,它会告诉您存在哪些共同依赖关系,或者(理想情况下)以图形方式显示依赖关系树?