作曲家更新我的bundle依赖项



我创建了一个新的Symfony 3.1.2项目,在那里我开始开发一些新的捆绑包,我计划在未来重用。所以我的目录结构是这样的:

app/
bin/
src/
   AppBundle/
   MyVendorName/
      CoolBundle/
         Controller/
         composer.json
         ...other files and folders...
      AwesomeBundle/
         Controller/
         composer.json
         ...other files and folders...
test/
var/
web/
composer.json
...other files...

CoolBundleAwesomeBundle 都依赖于第三方库(在每个composer.json上定义)。

现在,有没有办法在项目上调用composer update,它也会更新我的捆绑包的依赖项?

Y 使用作曲家的存储库找到了解决方案。

我将捆绑包移动到一个名为捆绑包(任意命名)的新文件夹中。这是必要的,因为 Symfony 默认自动加载 src 文件夹中的任何捆绑包,我不知道如果它们自动加载两次会发生什么(也许有人可以澄清这一点)。所以新的文件夹结构是

app/
bin/
src/
   AppBundle/
bundles/
   MyVendorName/
      CoolBundle/
         Controller/
         composer.json
         ...other files and folders...
      AwesomeBundle/
         Controller/
         composer.json
         ...other files and folders...
test/
var/
web/
composer.json
...other files...

然后在我应用的composer.json文件(底部的文件)上,我添加了

...,
"repositories": [
    {
        "type": "path",
        "url": "bundles/MyVendorName/*"
    }
],
"require": {
    "php": ">=5.5.9",
    "symfony/symfony": "3.1.*",
    "myvendorname/coolbundle": "@dev",
    "myvendorname/awesomebundle": "@dev",
},
...

现在,当我运行composer update时,它会在项目的vendor文件夹中(包括它们的依赖项)中添加此捆绑包(只要它们具有有效的composer.json文件),并且它们会自动加载。

本地捆绑包

是使用符号链接添加的,因此我在捆绑包中所做的任何更改都会立即影响应用程序。有关更多信息,请查看作曲家的文档。

最新更新