Composer安装说它正在获取正确的标签,但未提取正确的代码

时间:2018-06-19 16:11:36

标签: git composer-php

我有一个包含几个存储库的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安装中提取正确的版本。是在更新时出现了问题。

1 个答案:

答案 0 :(得分:0)

来自package存储库类型的Composer文档:

  

注意:此存储库类型有一些限制,应避免使用   只要有可能:

     
      
  • 除非您更改version字段,否则Composer不会更新软件包。
  •   
  • Composer不会更新提交引用,因此,如果您使用master作为引用,则必须删除该软件包以强制更新,   并且必须处理不稳定的锁定文件。
  •   

https://getcomposer.org/doc/05-repositories.md#package-2

第二点描述了您的情况。您应该使用标签或提交哈希作为参考,而不是分支。