UnexpectedValueException 无法解析版本约束 mybranch:无效的版本字符串 "mybranch"

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

我正在尝试使用目录 /work/a 中的 Composer 开发一个 PHP 库(称为 foo/bar),其中包含 composer.json 内容:

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

/work/a 是一个 git 项目,我在分支 mybranch

我正在尝试在本地的另一个项目(称为 testing/foobar)中使用此库,在目录 work/b 中使用 Composer 并使用 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"  

您的分支名称必须以 dev- 作为前缀,因此您的分支名称必须是 dev-mybranch.

Loading a package from a VCS repository

...
In composer.json, you should prefix your custom branch name with "dev-".
...

同时检查这个 Q/A

更改分支名称以具有 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