【问题标题】:Capistrano deploy error: Stage not setCapistrano 部署错误:未设置阶段
【发布时间】:2013-12-12 11:08:48
【问题描述】:

我按照this 教程设置了rvm、ruby、rails、nginx 和passenger。然后我安装了 capistrano 和 node.js。现在,一切正常,直到我尝试部署 *test_app.*

cap deploy:setup

产生以下错误:

[deprecated] I18n.enforce_available_locales will default to true in the future. If you really want to skip validation of your locale you can set I18n.enforce_available_locales = false to avoid this message.
Stage not set, please call something such as `cap production deploy`, where production is a stage you have defined.

现在

cap production deploy

产生这个错误:

cap aborted!
RVM - Capistrano integration was extracted to a separate gem, install: `gem install rvm-capistrano` and remove the `$LOAD_PATH.unshift` line, note also the 'set :rvm_type, :user' is now the default (instead of :system).
/home/USER/.rvm/lib/rvm/capistrano.rb:3:in `<top (required)>'
config/deploy.rb:5:in `<top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/setup.rb:12:in `load'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/setup.rb:12:in `block (2 levels) in <top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => production
(See full trace by running task with --trace)

所以我按照建议做了,安装了 rvm-capistrano 并删除了 *$:.unshift(File.expand_path('./lib', ENV['rvm_path']))*,这产生了以下错误:

cap production deploy
cap aborted!
Unable to activate rvm-capistrano-1.5.1, because capistrano-3.0.1 conflicts with capistrano (~> 2.15.4)
config/deploy.rb:5:in `<top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/setup.rb:12:in `load'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/setup.rb:12:in `block (2 levels) in <top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run'
/home/USER/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => production
(See full trace by running task with --trace)

有什么想法吗?

【问题讨论】:

  • 尝试运行bundle exec cap production deploy
  • 这会产生以下错误:/home/USER/.rvm/gems/ruby-2.0.0-p353@global/gems/bundler-1.3.5/lib/bundler/rubygems_integration.rb:214:in 'block in replace_gem': capistrano is not part of the bundle. Add it to Gemfile. (Gem::LoadError) from /home/USER/.rvm/gems/ruby-2.0.0-p353/bin/cap:22:in '&lt;main&gt;' from /home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in 'eval' from /home/USER/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in '&lt;main&gt;'
  • 文件夹中有Gemfile吗?
  • 错误的问题。看起来你会的。编辑该文件并添加“capistrano”并在终端上运行bundle
  • 现在它这样做了:bundle exec cap production deploy cap aborted! cannot load such file -- rvm/capistrano ...

标签: ruby deployment ruby-on-rails-4 rvm capistrano


【解决方案1】:

现在有两个 gem 可以与 capistrano3 / rvm1 一起使用:

我已经讨论过合并两个 gem(在 capistrano/rvm 中使用 rvm1-capistrano3)。

您也可以为 rvm 开一张票以指出新的宝石 => https://github.com/wayneeseguin/rvm/issues

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多