我一直在将我的项目从bitbucket迁移到github,现在我可以在github上免费拥有私有存储库。我本周末迁移了一个存储库,现在我遇到了一个问题,我的作曲家文件无法识别推送到存储库的新标签。
这是我的 composer.json 文件的相关部分:
"repositories": [
{
"type": "git",
"url": "git@github.com:myaccount/myrepo.git"
}
],
"require": {
"myaccount/myproject": "0.*"
}
每当我运行composer.phar update
时,该项目在 bitbucket 上的最新版本都会更新,即 0.0.4。从那时起,我在 github 上的新版本中添加了一个 0.0.5、0.0.6 和一个 0.1.0 标签。
我尝试删除 composer.lock 文件以及供应商目录,但它仍然只安装 0.0.4 标签。我还尝试使用composer.phar clearcache
清除作曲家缓存以及手动删除主目录中的缓存。
我还尝试在从未安装过作曲家的服务器上安装该项目。我在那里进行了必要的更改并尝试运行 composer.phar 更新,但它仍然只能识别 0.0.4 标签。
我已经验证了 github 版本中确实存在这些标签。
我也尝试在 composer.json 文件中手动设置标签,但当我这样做并运行composer.phar update
时,操作永远不会完成。我让它运行了一夜,它仍然没有完成。
我已经转储了没有锁或供应商的运行composer.phar install
的输出:
Reading composer.json of myaccount/myproject (0.0.1)
Reading composer.json of myaccount/myproject (0.0.2)
Reading composer.json of myaccount/myproject (0.0.3)
Reading composer.json of myaccount/myproject (0.0.4)
Reading composer.json of myaccount/myproject (0.0.5)
Reading composer.json of myaccount/myproject (0.0.6)
Reading composer.json of myaccount/myproject (0.1)
Reading composer.json of myaccount/myproject (0.1.1)
Reading composer.json of myaccount/myproject (master)
- Installing myaccount/myproject (0.0.4): Cloning be03d13ed4 from cache
我在这里做错了什么?
我最终使用git show-ref -s 0.1.1
获得了标签的提交哈希。然后,我手动编辑了 composer.lock 文件以更新哈希和版本。然后我运行了composer.phar install
,它更新为正确的版本。
我仍然不知道为什么我无法说服作曲家自己弄清楚这一点。