UnexpectedValueException Не удалось проанализировать ограничение версии mybranch: неверная строка версии "mybranch" - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь разработать библиотеку PHP (называемую foo/bar), используя Composer в каталоге /work/a с содержанием composer.json:

{
    "name": "foo/bar",
    "require": {
        "php": ">=7.2"
    }
}

/work/a является git проект и я на ветке mybranch

Я пытаюсь использовать эту библиотеку локально в другом проекте (называемом testing/foobar), используя Composer в директории work/b с composer.json содержимое:

{
    "name": "testing/foobar",
    "type": "project",
    "repositories": [
        {
            "type": "vcs",
            "url": "/work/a"
        }
    ],
    "require": {
        "php": "^7.4",
        "foo/bar": "mybranch"
    }
}

При запуске $ composer install в /work/b выдается ошибка:

[UnexpectedValueException]                                            
  Could not parse version constraint mybranch: Invalid version string "mybranch"  

1 Ответ

4 голосов
/ 21 марта 2020

Вы должны поставить префикс имени вашей ветки с dev-, поэтому имя вашей ветки должно быть dev-mybranch.

Загрузка пакета из хранилища VCS

...
В composer.json вы должны добавить префикс имени вашей пользовательской ветви к "dev-".
...

Также проверьте это Q / A "Composer требуется имя ветви" .

Измените имя ветви, чтобы иметь префикс dev-, добавьте его в /work/b проект:

{
    "name": "testing/foobar",
    "type": "project",
    "repositories": [
        {
          "type": "vcs",
          "url": "/work/a"
        }
    ],
    "require": {
        "php": "^7.4",
        "foo/bar": "dev-mybranch"
    }
}

Выполнить composer install:

❯ composer install
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing foo/bar (dev-mybranch 85c97b7): Cloning 85c97b7b23 from cache
Writing lock file
Generating autoload files
...