我正在跟随this guide使用Capistrano在DigitalOcean上部署我的Rails应用。
在第5站结束时,我通过以下命令检查服务器可用性:
cap production deploy:check
结果是:
alucardu@alucardu-VirtualBox:~/sites/movieseat$ cap production deploy:check
cap aborted!
LoadError: cannot load such file -- capistrano/rbenv
/home/alucardu/sites/movieseat/Capfile:18:in `<top (required)>'
(See full trace by running task with --trace)
在我的gemfile中,我有:
# Add capistrano
gem 'capistrano-bundler' # for capistrano/bundler
gem 'capistrano-rails' # for capistrano/rails/*
和
group: :development do
gem 'capistrano', '~> 3.0', require: false
gem 'capistrano-bundler', require: false
gem 'capistrano-rails', require: false
gem 'capistrano-rbenv', github: 'capistrano/rbenv', require: false
end
在我的Capfile中,我有:
require 'capistrano/rbenv'
# require 'capistrano/chruby'
require 'capistrano/bundler'
require 'capistrano/rails/assets'
require 'capistrano/rails/migrations'
我也做过rbenv版本检查。
alucardu@alucardu-VirtualBox:~/sites/movieseat$ rbenv -v
rbenv 0.4.0-98-g13a474c
有人能指出我的问题吗?
更新
我想我还没有安装好宝石。
修正了它。
gem install capistrano-rbenv
答案 0 :(得分:1)
Capistrano的任务通常在production
环境中运行。因此,在Gemfile
添加与production
组
group :development, :production do
gem 'capistrano', '~> 3.0', require: false
gem 'capistrano-bundler', require: false
gem 'capistrano-rails', require: false
gem 'capistrano-rbenv', github: 'capistrano/rbenv', require: false
end
答案 1 :(得分:1)
我通过运行bundle exec cap production deploy
而不是cap production deploy
来修复此问题。