【发布时间】:2013-09-16 23:20:37
【问题描述】:
我是 Capistrano 的新手,我尝试使用 Capistrano 的 DSL 在服务器上运行 shell 命令(“运行”、“执行”等),但它似乎已被弃用。在搜索和搜索功能等价物之后,我仍然迷路了。
当前代码:
desc 'Do something'
task :do_something
execute 'echo sometext'
end
输出:
cap aborted!
undefined method `execute' for main:Object
/Users/Justin/Dropbox/xxxx/xxxx/xxxx/Capfile:45:in `block (2 levels) in <top (required)>'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bundler/gems/capistrano-2dc1627838f9/lib/capistrano/application.rb:12:in `run'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bundler/gems/capistrano-2dc1627838f9/bin/cap:3:in `<top (required)>'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bin/cap:23:in `load'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bin/cap:23:in `<main>'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `eval'
/Users/Justin/.rvm/gems/ruby-2.0.0-p247/bin/ruby_noexec_wrapper:14:in `<main>'
Tasks: TOP => deploy:do_something
【问题讨论】:
-
我在“info”和“error”方法上遇到了完全相同的问题——同样的问题是因为这些方法属于 SSHKit 并且必须在 SSHKit 块中。
标签: ruby capistrano3