2012-04-08 114 views
5

我想添加一个本地项目A作为项目B的依赖项。使用git daemon我能够将项目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 

回答

8

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

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

+0

我今天试图重现这个问题,但不知何故,现在它似乎工作,虽然自上次尝试以来我没有对任一存储库提交任何更改。也许这是一个奇怪的缓存问题?我会四处游戏,看看它是否再次发生......编辑:无论如何,我接受你的答案,'作曲家表演-v'有很大帮助。 – dbrumann 2012-04-09 11:18:33

0

我遇到了类似的问题,我的问题是我运行的是composer update而不是composer install,我需要的一个库定义了它的某些依赖项作为GitHub的zipball。

相关问题