Composer 只查找 Gitlab 托管包的最新版本(标签)
Composer only finds latest version (tag) of Gitlab hosted package
我创建了一个包,其中包含一些带注释的版本控制标签(1.0.0、1.0.1、1.1.0 和 2.0.0)。这个包存在于自己的主机上(所以不是通过 Packagist)
当尝试要求包时,作曲家只找到 2.0.0 版本并且在任何其他版本要求上失败。
Composer.php 使用包
的项目文件
{
"name": "projectname",
"description": "Description.",
"keywords": ["keys"],
"license": "Licence",
"type": "project",
"require": {
...
"space/package-name": "~1.0" // Also tried 1.0.0, 1.0.*, ~1.0@dev - only 2.0.0 works
}
"repositories": [
...
{
"type": "git",
"url": "git@gitlab.com:space/package-name.git" // Make sure package is found on specific hosting
}
],
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
在 运行 composer show "space/package-name"
我得到 versions: * 2.0.0
。因此,更新后,作曲家会产生以下错误:
The requested package space/package-name ~1.0 exists as name/package-
name[2.0.0, dev-master] but these are rejected by your constraint.
似乎 composer 找不到除最新版本之外的任何其他版本,有什么办法解决这个问题吗?
已检查的内容:
- 软件包不包含 composer.json 中的版本(可能与 git 标签冲突)
- 使用的标签是带注释的标签,并被推送到 repo。
更新:
可能是 Gitlab - Composer 问题,。
Git当 Composer 尝试读取 repo 时,lab 并不总是提供标签信息。
解决方法:在composer.json中也添加版本信息:
{
"name": "package/name",
"version": "1.0.0",
...
}
作曲家可读。注意:Git 标签必须匹配 composer.json 中的版本控制信息! (否则可能会导致错误)
我创建了一个包,其中包含一些带注释的版本控制标签(1.0.0、1.0.1、1.1.0 和 2.0.0)。这个包存在于自己的主机上(所以不是通过 Packagist) 当尝试要求包时,作曲家只找到 2.0.0 版本并且在任何其他版本要求上失败。
Composer.php 使用包
的项目文件{
"name": "projectname",
"description": "Description.",
"keywords": ["keys"],
"license": "Licence",
"type": "project",
"require": {
...
"space/package-name": "~1.0" // Also tried 1.0.0, 1.0.*, ~1.0@dev - only 2.0.0 works
}
"repositories": [
...
{
"type": "git",
"url": "git@gitlab.com:space/package-name.git" // Make sure package is found on specific hosting
}
],
"config": {
"preferred-install": "dist",
"sort-packages": true,
"optimize-autoloader": true
}
在 运行 composer show "space/package-name"
我得到 versions: * 2.0.0
。因此,更新后,作曲家会产生以下错误:
The requested package space/package-name ~1.0 exists as name/package-
name[2.0.0, dev-master] but these are rejected by your constraint.
似乎 composer 找不到除最新版本之外的任何其他版本,有什么办法解决这个问题吗?
已检查的内容:
- 软件包不包含 composer.json 中的版本(可能与 git 标签冲突)
- 使用的标签是带注释的标签,并被推送到 repo。
更新:
可能是 Gitlab - Composer 问题,
Git当 Composer 尝试读取 repo 时,lab 并不总是提供标签信息。
解决方法:在composer.json中也添加版本信息:
{
"name": "package/name",
"version": "1.0.0",
...
}
作曲家可读。注意:Git 标签必须匹配 composer.json 中的版本控制信息! (否则可能会导致错误)