Composer不从本地存储库获取依赖项

时间:2012-04-08 16:52:05

标签: php composer-php

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

项目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

2 个答案:

答案 0 :(得分:8)

最可能的解释是您忘记将更改提交到composer.json中的/home/user/project-a

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

答案 1 :(得分:0)

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