编写器不会从本地存储库获取依赖项


Composer does not fetch dependencies from local repository

我正在尝试将本地项目 A 作为依赖项添加到项目 B.使用 git daemon 我可以获取项目 A 作为依赖项,但无法识别项目 A 中 composer.json 中用 require 定义的依赖项。我错过了什么?

项目A:

{
    "name": "project/a",
    "require": {
        "monolog/monolog": "dev-master"
    }
}

项目B:

"repositories": [
    {
        "type": "vcs",
        "url": "git://localhost/home/user/project-a"
    }
],
"require": {
    "project/a": "dev-master"
}

结果(在项目 B 中):

vendor/
  project/a

预期:

vendor/
  project/a
  monolog/monolog

最可能的解释是你忘记在 /home/user/project-a 中提交对composer.json的更改。

要对此进行调试,您可以使用 composer show project-a dev-master -v .-v在加载存储库时将输出更详细的信息,然后您将看到有关您正在安装的版本的详细信息,如果它不包含 monolog 要求,那么我会说我上面的猜测是正确的。如果它确实包含它,我们在作曲器中遇到了一个严重的错误,你应该在 github 上报告它。

我遇到了类似的问题,我的问题是我运行的是composer update而不是composer install,我需要的一个库将其一些依赖项定义为来自 GitHub 的zipballs。