我在使用特定分支作为项目中的依赖项时遇到了一些麻烦。
我有一个reposityry我会调用repositoryA
这是我正在考虑的项目,而repositoryB
是repositoryA
所依赖的不同存储库。
但是,我在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
我对这是如何工作的误解是什么?
答案 0 :(得分:2)
我找到了解决方案:
事实证明,在运行composer.lock
之前,首先将1.0.x-dev
中的分支手动更新为composer update
,我才能让它工作。
答案 1 :(得分:1)
您需要标记分支并在composer中使用此标记。在这种情况下,无需使用分支别名编辑器功能。
答案 2 :(得分:1)
如果您的分支名为1.0
,则1.0.x-dev
的约束应该有效(另请参阅branches上的文档)。如果它不起作用,那么你需要告诉我们作曲家返回的错误,因为如果你没有向我们提供所有相关信息,我们就无法帮助你。