Ruby on rails 尝试在Digitalocean上部署,收到Capistrano错误
我一直遵循Gorail的教程在DigitalOcean上部署。和 我已经到达了在命令行中使用cap production deploy的部分,但是我得到了以下错误,我不理解这个错误是如何发生的:Ruby on rails 尝试在Digitalocean上部署,收到Capistrano错误,ruby-on-rails,ruby,deployment,capistrano,capistrano3,Ruby On Rails,Ruby,Deployment,Capistrano,Capistrano3,我一直遵循Gorail的教程在DigitalOcean上部署。和 我已经到达了在命令行中使用cap production deploy的部分,但是我得到了以下错误,我不理解这个错误是如何发生的: luis@luis-Inspiron-7559:~/Desktop/mls2$ cap production deploy --trace cap aborted! LoadError: cannot load such file -- capistrano/rbenv /usr/local/lib/s
luis@luis-Inspiron-7559:~/Desktop/mls2$ cap production deploy --trace
cap aborted!
LoadError: cannot load such file -- capistrano/rbenv
/usr/local/lib/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/lib/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/home/luis/Desktop/mls2/Capfile:31:in `<top (required)>'
/usr/lib/ruby/vendor_ruby/rake/rake_module.rb:28:in `load'
/usr/lib/ruby/vendor_ruby/rake/rake_module.rb:28:in `load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:689:in `raw_load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:94:in `block in load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:93:in `load_rakefile'
/usr/lib/ruby/vendor_ruby/rake/application.rb:77:in `block in run'
/usr/lib/ruby/vendor_ruby/rake/application.rb:176:in `standard_exception_handling'
/usr/lib/ruby/vendor_ruby/rake/application.rb:75:in `run'
/usr/lib/ruby/vendor_ruby/capistrano/application.rb:15:in `run'
/usr/bin/cap:3:in `<main>'
还有我的production.rb:
set :production
server 'xxx.xxx.xxx.xxx', user: 'USER', roles: %w{app db web}
在我的gemfile中,我已经按照视频中的建议在开发组中添加了capistrano gems:
...
group :development do
# Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
gem 'web-console', '>= 3.3.0'
gem 'listen', '~> 3.0.5'
# Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
gem 'capistrano', '~> 3.9', '>= 3.9.1'
gem 'capistrano-rails', '~> 1.3'
gem 'capistrano-passenger', '~> 0.2.0'
gem 'capistrano-rbenv', '~> 2.1', '>= 2.1.1'
end
...
。。。
小组:发展怎么办
#在异常页面上或通过使用代码中的任意位置访问IRB控制台。
gem“web控制台”,“>=3.3.0”
gem'听',“~>3.0.5”
#Spring通过让应用程序在后台运行来加速开发。阅读更多:https://github.com/rails/spring
宝石“春天”
gem‘SpringWatcherListen’,“~>2.0.0”
宝石“capistrano”、“~>3.9”、“>=3.9.1”
gem“capistrano rails”,“~>1.3”
gem“capistrano乘客号”,“~>0.2.0”
gem“capistrano rbenv”、“~>2.1”、“>=2.1.1”
结束
...
您需要通过将其添加到您的GEM文件来安装:
gem 'capistrano-rbenv'
然后捆绑安装
Capistrano最近开始将一些较少使用的功能分流到可选模块。您需要将其添加到您的GEM文件中进行安装:
gem 'capistrano-rbenv'
然后捆绑安装
Capistrano最近开始将一些较少使用的功能分流到可选模块。您忘记在Capfile中要求Capistrano/passenger。您忘记在Capfile中要求Capistrano/passenger。首先,这并不是直接导致问题的原因,但您的Capfile中有一个错误。如果您看一下,set
命令应该放在deploy.rb
中,而不是放在Capfile
中。我建议删除这些行并将它们移动到deploy.rb
# Move to deploy.rb
set :rbenv_type, :user
set :rbenv_ruby, '2.4.1'
在任何情况下,您得到的错误都可能是由于无法加载gemcapistrano rbenv
。以下是我将尝试的:
运行bundle exec cap生产部署。所有cap命令的前缀必须为bundle exec
。否则,无法保证将使用该文件
如果这不起作用,请在不使用
的情况下运行bundle config,查看绑定器是否排除了GEM文件的开发
组。如果是这样,请通过运行bundle config--delete with
删除该设置
首先,这不会直接导致您的问题,但您的CAP文件中有一个错误。如果您看一下,set
命令应该放在deploy.rb
中,而不是放在Capfile
中。我建议删除这些行并将它们移动到deploy.rb
# Move to deploy.rb
set :rbenv_type, :user
set :rbenv_ruby, '2.4.1'
在任何情况下,您得到的错误都可能是由于无法加载gemcapistrano rbenv
。以下是我将尝试的:
运行bundle exec cap生产部署。所有cap命令的前缀必须为bundle exec
。否则,无法保证将使用该文件
如果这不起作用,请在不使用
的情况下运行bundle config,查看绑定器是否排除了GEM文件的开发
组。如果是这样,请通过运行bundle config--delete with
删除该设置
使用bundle exec cap production deploy
运行Capistrano,同时确保Capistrano rbenv
gem在您的gem文件中,以及Capistrano/rbenv
在您的cap文件中,如其他答案所述。使用bundle exec cap production deploy
运行Capistrano,除了确保capistrano rbenv
gem在您的gem文件中,以及capistrano/rbenv
在您的cap文件中,如其他答案所述。我已经安装了gem,我忘了将我的gem文件添加到帖子中,我已经编辑并添加了相关部分。我已经安装了gem,我忘了将我的gem文件添加到帖子中,我已经编辑并添加了相关部分。我按照最初提到的教程进行操作,他们说现在不需要。另外,这与我的错误无关,也与我的问题无关。我按照最初提到的教程进行学习,他们说现在不需要。而且,这与我的错误无关,也与我的问题无关。