例如,我想要:
{
"repositories": [
{
"type": "git",
"url": "https://github.com/google/google-api-php-client.git"
}
],
"require": {
"google/apiclient": "v1-master"
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我尝试google/apiclient在分支上v1-master.我收到错误:
[UnexpectedValueException]
Could not parse version constraint v1-master: Invalid version string "v1-master"
Run Code Online (Sandbox Code Playgroud) 我在我公司的Gitlab上有一些软件包主机.我想请求这些软件包的特定版本,但每次尝试时,作曲家都会下载master分支的最新提交.
composer.json:
{
"name" : "MyProject",
"require" : {
"user/project" : "v0.5.0"
},
"type" : "project",
"repositories" : [
{
"url" : "git@gitlab.XXXX.fr:user/project.git",
"type" : "vcs"
}
],
"config" : {
"vendor-dir" : "private/class"
}
}
Run Code Online (Sandbox Code Playgroud)
我的包的存储库结构:
当我执行"composer install"时:
使用包信息加载composer存储库
安装依赖项(包括require-dev)
分析了69个包来解决依赖关系
分析了67条规则来解决依赖关系
安装用户/项目(dev-master f15600a)
克隆f15600a1
它仅下载最后一次提交.
如何配置项目的composer.json文件以使用特定标记?
今天我发现了一个我无法形容的奇怪错误composer update.
{
"repositories": {
"my-plugin": {
"type": "vcs",
"url": "git@mycodebase.com:mjplug/myplugin.git"
}
},
"require": {
"my-plugin/myplugin": "0.0.9",
}
}
Run Code Online (Sandbox Code Playgroud)
当我尝试composer update然后我会得到
The requested package my-plugin/my-plugin 0.0.9 exists as my-plugin/my-plugin[0.0.6, 0.0.5] but these are rejected by your constraint.
但是存在像0.0.7, 0.0.8, 0.0.9存储库中的标签.他们为什么不找到?
如果我设置~0.0.1为版本约束它可以工作,因为composer将安装0.0.6.
任何提示?谢谢
编辑:这是我们的Bitbucket服务器实例的屏幕截图:http://imgur.com/a/m8lRT
编辑2:已解决:在最后一个版本中,我将composer.json由于某种原因放到子目录中.所以这就是作曲家找不到最新标签的问题.