Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 尝试在Digitalocean上部署,收到Capistrano错误_Ruby On Rails_Ruby_Deployment_Capistrano_Capistrano3 - Fatal编程技术网

Ruby on rails 尝试在Digitalocean上部署,收到Capistrano错误

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

我一直遵循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/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'

在任何情况下,您得到的错误都可能是由于无法加载gem
capistrano 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'
    

    在任何情况下,您得到的错误都可能是由于无法加载gem
    capistrano 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文件添加到帖子中,我已经编辑并添加了相关部分。我按照最初提到的教程进行操作,他们说现在不需要。另外,这与我的错误无关,也与我的问题无关。我按照最初提到的教程进行学习,他们说现在不需要。而且,这与我的错误无关,也与我的问题无关。