我有一个包含几个存储库的Web应用程序,并且我正在使用Composer来管理每个存储库的哪个版本用于部署。
我已经明确说明了每个回购所需要的标签,看来Composer尊重这些标签,并告诉我它正在Composer Install上拉那些标签。
但是,当我实际导航到每个存储库的目录时,它实际上并没有提取应该与该标记关联的代码。
我想念什么?这是与我如何使用composer安装有关的问题,还是与我对存储库加标签的问题有关的问题?
git log --pretty = oneline
e9ba89babf55f8c8ec353499a00b924b3ec32978 (HEAD -> 1.9.7, tag: 1.9.7, origin/master, origin/HEAD, composer/master, master) feat(files): send public file path to JS
“存储库”内部
{
"type": "package",
"package": {
"name": "ripple/admin",
"version": "1.9.7",
"type": "ripple-custom",
"source": {
"url": "repourl.git",
"type": "git",
"reference" : "master"
}
}
},
内部“要求”
"ripple/admin" : "1.9.7",
在作曲家安装后的终端输出
Gathering patches for root package.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Package operations: 0 installs, 1 updates, 0 removals
Gathering patches for root package.
Gathering patches for dependencies. This might take a minute.
- Updating ripple/admin (1.9.6 => 1.9.7): Checking out master
Generating autoload files
Maintaining patches
应该注意的是,当我使用此代码库进行全新安装时,它会在composer安装中提取正确的版本。是在更新时出现了问题。
答案 0 :(得分:0)
来自package
存储库类型的Composer文档:
注意:此存储库类型有一些限制,应避免使用 只要有可能:
- 除非您更改
version
字段,否则Composer不会更新软件包。- Composer不会更新提交引用,因此,如果您使用
master
作为引用,则必须删除该软件包以强制更新, 并且必须处理不稳定的锁定文件。
https://getcomposer.org/doc/05-repositories.md#package-2
第二点描述了您的情况。您应该使用标签或提交哈希作为参考,而不是分支。