共享编写器依赖项



我正在做一个可以安装扩展的项目,也就是说,你安装核心程序,然后你可以下载并添加第三方扩展。

如果有两个独立的扩展需要相同依赖的相同版本(例如,如果两个扩展需要AWS SDK),是否有任何方法可以使composer不会最终下载相同依赖的两个副本?

您可以将扩展创建为编写器包。然后在主composer.json文件中添加对您自己的包的引用。

例如:

root/
   my-extension-a/
      composer.json ( require: dep-a, dep-b)
      vendor/
          dep-a/
          dep-b/
   my-extension-b/
      vendor/
          dep-a/
          dep-c/
      composer.json (require dep-a, dep-c)
  main-project/
      composer.json  (require my-extension-a, my-extension-b)
      vendor/
          my-extension-a/
          my-extension-b/
          dep-a/
          dep-b/
          dep-c/

主项目中的composer.json文件如下所示:

"require": {
         "parent5446/my-extension-a": "dev-master",
         "parent5446/my-extension-b": "dev-master"
}

你可以在packagist中公开你的扩展。或者您可以使用Satis来引用私有存储库。使用Satis和Composer管理私有包

相关内容

  • 没有找到相关文章

最新更新