Как загрузить требуемые зависимости из пакета Subversion - PullRequest
0 голосов
/ 16 апреля 2019

Я создал свой собственный пакет composer для laravel и использую subversion для управления версиями и т. Д. Composer не устанавливает пакеты require и require-dev из нашего собственного пакета.

Мой основной проект composer

"name": "laravel/laravel",
  "description": "The Laravel Framework.",
  "keywords": [
    "framework",
    "laravel"
  ],
  "repositories": [
    {
      "type": "svn",
      "url": "https://path/to/package/title/"
    }
  ],
  "license": "MIT",
  "type": "project",
  "require": {
    "php": ">=7.2.0",
    "laravel/framework": "5.5.*",

    "company/package-name": "~1.0.0"
  },

пакет composer.json

{
  "name": "company/package-name",
  "require": {
    "php": ">=7.2.0",

  },
  "require-dev": {
    "phpunit/phpunit": "^6.0",
    "orchestra/testbench": "^3.5"
  },

}

В этом случае оркестр / testbench никогда не устанавливается.Когда я добавлю его в основной проект composer.json, он будет установлен, но когда он находится в пакете composer.json, composer не установит его.

Кто-нибудь может мне сказать, что не так с моим набором?вверх?

Ответы [ 2 ]

0 голосов
/ 16 апреля 2019

Поле require-dev является полем «только для root» и учитывается только при установке проекта в качестве корневого пакета (другими словами, не какзависимость).Ваш "основной проект" является примером корневого пакета.

Причина, по которой require-dev является полем «только для пользователя root», заключается в том, чтобы указать требования к пакету, которые будут необходимы, только если кто-то захочет разработать этот пакет или запустить его тесты.

Если вы хотите установить orchestra/testbench, я предполагаю, что вы хотите использовать его в своем основном пакете для разработки тестов.В этом случае я бы рекомендовал добавить его в поле require-dev вашего основного пакета.

Если вам не нужен пакет orchestra/testbench в вашем основном проекте, вам не нужно беспокоиться об его установке.Вам не нужно будет использовать ваш пакет company/package-name.

0 голосов
/ 16 апреля 2019

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

...