【发布时间】: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 '<main>' 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 '<main>' -
文件夹中有
Gemfile吗? -
错误的问题。看起来你会的。编辑该文件并添加“capistrano”并在终端上运行
bundle -
现在它这样做了:
bundle exec cap production deploy cap aborted! cannot load such file -- rvm/capistrano ...
标签: ruby deployment ruby-on-rails-4 rvm capistrano