capistrano未能克隆http上的git子模块

时间:2010-10-17 08:44:45

标签: git mongodb capistrano

我有一个web项目设置为从git repo部署。

如果我使用http子模块(例如http://github....etc)设置项目,则无法部署,但是:

** [my-dev-server.com :: out] Synced lib/vendor/odm
** [my-dev-server.com :: out] Cloning into lib/vendor/odm...
** [my-dev-server.com :: err] fatal: Unable to find remote helper for 'http'
** [my-dev-server.com :: err] Clone of 'http://github.com/doctrine/mongodb-odm.git' into submodule path 'lib/vendor/odm' failed

似乎与子模块访问方法有关,因为它可以正常工作,如果我:

  • 删除子模块
  • 通过ssh设置子模块而不是http(即git @ github .... etc)

有谁知道导致此错误的原因以及如何解决此问题?

我不认为使用http作为子模块存在问题,因为我已经看过其他带有http子模块的capistrano教程,并且没有提到它是一个特殊情况。

感谢。

1 个答案:

答案 0 :(得分:0)

最终找到解决方案。

与卡皮斯特拉诺没有关系。即使是git clone http:// ....也会在生产服务器上失败。

在这里找到我的答案 https://forums.hostingplayground.com/showthread.php?p=2562

简而言之,似乎CentOS最终可能会使用旧版本的Curl而不是git需要能够使用http进行克隆。

我按照该帖子中的说明升级生产服务器上的Curl,然后使用http子模块完成部署任务。