使用capistrano 3进行部署无法将Rake :: Task转换为String

时间:2014-03-26 12:42:19

标签: ruby-on-rails ruby capistrano3 rvm-capistrano

我尝试使用capistrano3进行首次部署。 我对此非常陌生,而且我被困在这里:跑步

 cap deploy:setup

我收到此错误

cap aborted!
TypeError: can't convert Rake::Task to String

在我的deploy.rb文件中,我有这个

require 'capistrano/setup' 
require 'capistrano/deploy'
require 'capistrano/bundler'
require 'capistrano/rvm'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
require "whenever/capistrano"
Dir.glob('lib/capistrano/tasks/*.cap').each { |r| import r }
经过大量的谷歌搜索后,我发现了一些关于rvm1-capistrano3的内容; 但如果我改变这一行

require 'capistrano/rvm'

这一个

require 'rvm1/capistrano3'

但没有任何改变。我仍然收到这个错误。 当然,我已尝试过各种重新安装或更新,但我无法摆脱这种情况。

1 个答案:

答案 0 :(得分:1)

这似乎是最新版本的rake(10.2.1)的一个问题。将其版本指定为' 10.1.1'为我工作:

# In your gemfile
gem 'rake', '10.1.1'

然后运行bundle update rake,提交所有文件(包括Gemfle.lock),推送到原点并重新部署。