Laravel 运行2个composer.json文件

Laravel 运行2个composer.json文件,laravel,composer-php,phpstorm,Laravel,Composer Php,Phpstorm,我有一个正在开发的PHP(Laravel)项目,它使用了我开发的一个助手包,在我处理原始项目时,该包也会被修改。我想知道作曲家处理这个问题的最佳方法 现在,在我的composer.json文件中,我有一个存储库路径,以便项目知道始终使用我的当前版本 "repositories": { "local": { "type": "path", "url": "../../packages/my-account/my-package" } } 该路径位于主

我有一个正在开发的PHP(Laravel)项目,它使用了我开发的一个助手包,在我处理原始项目时,该包也会被修改。我想知道作曲家处理这个问题的最佳方法

现在,在我的composer.json文件中,我有一个存储库路径,以便项目知道始终使用我的当前版本

"repositories": {
    "local": {
      "type": "path",
      "url": "../../packages/my-account/my-package"
    }
  }

该路径位于主项目的require路径中,因为它包含在项目中扩展的文件


 "require": {
    "php": "^7.1.3",
    "fideloper/proxy": "^4.0",
    "laravel/framework": "5.8.*",
    "laravel/tinker": "^1.0",
    "nothingworks/blade-svg": "^0.3.0",
    "my-account/my-package": "^0.3.8@dev",

...

我以前只打开两个项目,然后更新包,并将其推送到PackageGist。然后等待另一个包下载更新,但这似乎是一种浪费时间的行为,特别是因为运行一些单元测试时,我只有在升级后才能发现问题

相反,我的系统(MacOS Mojave)中有一个从我的供应商文件夹到我的帐户文件夹的软链接,以确保在PhpStorm中,我可以打开需要的文件,同时对项目进行更改。我基本上只需要承诺,当一切都按预期进行时。这是一个巨大的时间节省,但它有一个缺点

每次提交主项目时,我都需要从composer.json中删除repositories块,以将其推送到暂存或生产环境中。因为没有
存储库dev
或类似的东西


有更好的工作流程吗?使用2个composer.json?或者一些PhpStorm魔法可以解决这个问题,所以我不会在每次提交时剥离大量代码?

您可以使用它来解决您的确切问题。它使您无需修改
composer.json
文件来向包中添加符号链接,因为它可以通过composer插件执行完全相同的操作。

您可以使用它来解决您的确切问题。它使您无需修改
composer.json
文件来向包中添加符号链接,因为它可以通过composer插件动态执行完全相同的操作。

我很高兴能提供帮助!我很高兴能帮上忙!