无法使用作曲家

时间:2016-11-30 09:11:47

标签: composer-php

我在使用特定分支作为项目中的依赖项时遇到了一些麻烦。

我有一个reposityry我会调用repositoryA这是我正在考虑的项目,而repositoryBrepositoryA所依赖的不同存储库。

但是,我在repositoryB中有一个特定的分支,名为" 1.0"我想指定作曲家使用。

我在repositoryA中尝试过的是,在composer.json中,将以下内容指定为一个要求(将其视为每行在不同的尝试中,而不是在同一文件/尝试中):

// ...
"my-vendor/repositoryB": "1.0-dev",
"my-vendor/repositoryB": "1.0.x-dev",
"my-vendor/repositoryB": "dev-1.0",
"my-vendor/repositoryB": "dev-1.0.x",
"my-vendor/repositoryB": "1.0",
"my-vendor/repositoryB": "1.0.x",
// ...

当我尝试设置这些约束时,我得到的错误消息是:

The requested package my-vendor/repositoryB 1.0.x-dev exists as  
my-vendor/repositoryB[dev-master] but these are rejected by your constraint.

稍微搜索一下这个问题之后,似乎我需要一个别名来支持" 1.0" -branch才能使用它,所以我也尝试将以下内容添加到{的composer.json中{1}}:

repositoryB

我对这是如何工作的误解是什么?

3 个答案:

答案 0 :(得分:2)

我找到了解决方案:

事实证明,在运行composer.lock之前,首先将1.0.x-dev中的分支手动更新为composer update,我才能让它工作。

答案 1 :(得分:1)

您需要标记分支并在composer中使用此标记。在这种情况下,无需使用分支别名编辑器功能。

答案 2 :(得分:1)

如果您的分支名为1.0,则1.0.x-dev的约束应该有效(另请参阅branches上的文档)。如果它不起作用,那么你需要告诉我们作曲家返回的错误,因为如果你没有向我们提供所有相关信息,我们就无法帮助你。