Запуск 2 файлов composer.json - PullRequest
0 голосов
/ 10 мая 2019

У меня есть проект PHP (Laravel), который я разрабатываю, и он использует вспомогательный пакет, который я разработал, и который также модифицируется, пока я работаю над первоначальным проектом.Я хочу узнать, как лучше всего справиться с этим в composer.

Прямо сейчас, в моем файле composer.json, у меня есть путь к хранилищу, так что проект всегда будет использовать мою текущую версию.

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

Путь находится в обязательном пути основного проекта, поскольку он содержит файлы, которые расширены в проекте.


 "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",

...

Раньше я просто открывал оба проекта, а затем обновлялпакет, и нажмите его, чтобы упаковать.Затем подождите, пока другой пакет загрузит обновление, но это, похоже, было такой пустой тратой времени, тем более что при запуске некоторых модульных тестов я обнаружил бы проблему только после обновления.

Вместо этого у меня есть мягкая ссылка вмоя система (MacOS Mojave) из папки моего поставщика в папку моей учетной записи, чтобы в PhpStorm я мог открывать нужные мне файлы и одновременно вносить изменения в проекты.Я в основном только когда-либо совершаю, когда все работает как ожидалось.Это сэкономило огромное количество времени, однако у него есть недостаток ...

Каждый раз, когда я фиксирую основной проект, мне нужно удалить кусок репозитория из моего composer.json, чтобы переместить его в стадию или в производство.,Поскольку нет repositories-dev или чего-то в этом роде.

Есть ли лучший рабочий процесс?Используете 2 composer.jsons?ИЛИ какая-то магия PhpStorm, которая может решить эту проблему, поэтому я не убираю кусок кода при каждом коммите?

1 Ответ

2 голосов
/ 11 мая 2019

Вы можете использовать https://github.com/franzliedke/studio, который решает вашу точную проблему.Это избавляет вас от изменения файла composer.json для добавления символической ссылки в ваш пакет, как это происходит на лету через плагин Composer.

...