最近,我一直在尝试将Webistrano从一个没有使用bundler来管理应用程序宝石的版本升级到一个这样的版本。为了部署rails应用程序,我们将在配方中使用require 'bundler/capistrano'为应用程序和其他相关步骤(如预编译资产等)加载绑定器。但是,一旦在Gemfile中使用bundler来指定和加载适当的gem环境,require 'bundler/capistrano'就会引发以下错误:
**加载阶段配方‘邦德勒’ *定义一个名为“`install”的任务将隐藏具有该名称的现有方法
如果我将需求排除在菜谱之外,部署将继续进行,但不会使用绑定器(不使用bundle exec等)。
在尝试使用require 'rvm/capistrano'管理ruby环境时,我也遇到了与rvm类似的问题。
对如何解决这个问题有什么想法吗?
发布于 2012-11-21 16:11:13
可能是因为您使用的是RAK0.9.x,它有安装任务https://github.com/jimweirich/rake/blob/master/lib/rake/contrib/sys.rb#L30,尝试使用rake0.8.7运行,这个问题可能是相关的https://github.com/capistrano/capistrano/pull/90
发布于 2012-11-10 10:04:42
您是否在您的服务器和本地机器上安装了bundler和宝石?我以前见过这个引起问题的。
发布于 2012-11-20 16:49:39
我刚刚检查了bundler/capistrano的代码,我知道rvm/capistrano的代码,只有当capistrano的namespace被覆盖/中断,没有适当的范围给task定义时,确保没有重新定义namespace,或者没有其他的namespace会这样做。
如果可能将capistrano更新为更新版本,只需修复它(这可能是capistrano中一些已经修复的bug )。
https://stackoverflow.com/questions/13131189
复制相似问题