Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.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 3 Rails 3.2.2 RVM系统范围的Capistrano安装找不到Gems_Ruby On Rails 3_Gem_Rvm_Capistrano_Ubuntu 11.04 - Fatal编程技术网

Ruby on rails 3 Rails 3.2.2 RVM系统范围的Capistrano安装找不到Gems

Ruby on rails 3 Rails 3.2.2 RVM系统范围的Capistrano安装找不到Gems,ruby-on-rails-3,gem,rvm,capistrano,ubuntu-11.04,Ruby On Rails 3,Gem,Rvm,Capistrano,Ubuntu 11.04,在这个问题上,我真的非常需要帮助,我有点不知所措 我正在尝试使用Capistrano Ext部署一个新的生产服务器,以允许登台和生产服务器,但它未能成功运行捆绑包安装-部署 cap staging deploy对现有的Ubuntu系统运行良好,但新服务器经常出现如下故障 my-app$ sh -c 'cd /var/www/html/rails/myapp/releases/20120519174459&& export PATH=/usr/local/bin:/usr/loca

在这个问题上,我真的非常需要帮助,我有点不知所措

我正在尝试使用Capistrano Ext部署一个新的生产服务器,以允许登台和生产服务器,但它未能成功运行捆绑包安装-部署

cap staging deploy对现有的Ubuntu系统运行良好,但新服务器经常出现如下故障

my-app$ sh -c 'cd /var/www/html/rails/myapp/releases/20120519174459&& export PATH=/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/opt/local/bin:/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin && bundle install --deployment'
  Fetching gem metadata from http://rubygems.org/......
  Fetching gem metadata from http://rubygems.org/..
  Installing rake (0.9.2.2) 
  Gem::LoadError: Could not find rubygems-bundler (>= 0) amongst []
  An error occured while installing rake (0.9.2.2), and Bundler cannot continue.
  Make sure that `gem install rake -v '0.9.2.2'` succeeds before bundling.
在任何其他目录中,ruby-v和rails-v都会产生预期的结果

my-home$ ruby -v
 ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

my-home$ rails -v
 Rails 3.2.2
生产服务器上的本地gem列表显示它们都可用

my-home$ gem list

*** LOCAL GEMS ***

actionmailer (3.2.3, 3.2.2)
actionpack (3.2.3, 3.2.2)
active_utils (1.0.3)
activemerchant (1.21.0)
activemodel (3.2.3, 3.2.2)
activerecord (3.2.3, 3.2.2)
activeresource (3.2.3, 3.2.2)
activesupport (3.2.3, 3.2.2)
addressable (2.2.7)
ansi (1.4.2)
arel (3.0.2)
bcrypt-ruby (3.0.1)
bootstrap-sass (2.0.1)
builder (3.0.0)
bundle (0.0.1)
bundler (1.1.3, 1.0.21)
cancan (1.6.7)
capistrano (2.12.0, 2.11.2)
capistrano-ext (1.2.1)
cocaine (0.2.1)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.3.3, 1.2.0)
daemon_controller (1.0.0)
devise (2.0.4)
erubis (2.7.0)
execjs (1.3.2, 1.3.0)
faraday (0.7.6)
fastthread (1.0.7)
haml (3.1.4)
hashie (1.2.0)
highline (1.6.12, 1.6.11)
hike (1.2.1)
i18n (0.6.0)
journey (1.0.3)
jquery-datatables-rails (1.9.1.3)
jquery-rails (2.0.2, 2.0.1)
jquery-ui-rails (0.3.0)
jruby-pageant (1.0.2)
json (1.7.3, 1.6.5)
libv8 (3.3.10.4 x86_64-linux)
mail (2.4.4)
metaclass (0.0.1)
mime-types (1.18, 1.17.2)
minitest (2.11.3)
mocha (0.10.5)
money (3.7.1)
multi_json (1.3.5, 1.1.0)
multipart-post (1.1.5)
mysql2 (0.3.11)
net-scp (1.0.4)
net-sftp (2.0.5)
net-ssh (2.4.0, 2.3.0)
net-ssh-gateway (1.1.0)
nifty-generators (0.4.6)
oauth (0.4.5)
oauth2 (0.5.2)
omniauth (1.0.3)
omniauth-facebook (1.2.0)
omniauth-google (1.0.1)
omniauth-linkedin (0.0.6)
omniauth-oauth (1.0.1)
omniauth-oauth2 (1.0.0)
omniauth-twitter (0.0.8)
orm_adapter (0.0.6)
paperclip (3.0.2)
passenger (3.0.12)
polyamorous (0.5.0)
polyglot (0.3.3)
rack (1.4.1)
rack-cache (1.2)
rack-ssl (1.3.2)
rack-test (0.6.1)
rails (3.2.3, 3.2.2)
railties (3.2.3, 3.2.2)
rake (0.9.2.2)
rdoc (3.12)
RedCloth (4.2.9)
rubygems-bundler (1.0.0)
rvm (1.11.3.3)
sass (3.1.18, 3.1.15)
sass-rails (3.2.5)
simple_form (2.0.1)
simple_oauth (0.1.5)
sprockets (2.1.3, 2.1.2)
sqlite3 (1.3.6)
squeel (1.0.1)
therubyracer (0.10.1, 0.9.10)
thor (0.14.6)
tilt (1.3.3)
timeliness (0.3.4)
treetop (1.4.10)
turn (0.9.4)
twitter (2.2.0)
tzinfo (0.3.33, 0.3.32)
uglifier (1.2.4, 1.2.3)
validates_timeliness (3.0.8)
warden (1.1.1)
will_paginate (3.0.3)
服务器上的rvm系统范围似乎是正确的

my-home$ rvm list

  rvm rubies

  =* ruby-1.9.3-p194 [ x86_64 ]

  # => - current
  # =* - current && default
  #  * - default

 my-home$ rvm info

  RVM is not a function, selecting rubies with 'rvm use ...' will not work.
  You need to change your terminal settings to allow shell login.
  Please visit https://rvm.io/workflow/screen/ for example.

  ruby-1.9.3-p194:

    system:
      uname:       "Linux totg01 2.6.38-14-generic #58-Ubuntu SMP Tue Mar 27 20:04:55 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux"
      bash:        "/bin/bash => GNU bash, version 4.2.8(1)-release (x86_64-pc-linux-gnu)"
      zsh:         " => not installed"

    rvm:
      version:      "rvm 1.13.5 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
      updated:      "4 days 2 hours 5 minutes 13 seconds ago"

     ruby:
       interpreter:  "ruby"
       version:      "1.9.3p194"
       date:         "2012-04-20"
       platform:     "x86_64-linux"
       patchlevel:   "2012-04-20 revision 35410"
       full_version: "ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]"

    homes:
      gem:          "/usr/local/rvm/gems/ruby-1.9.3-p194"
      ruby:         "/usr/local/rvm/rubies/ruby-1.9.3-p194"

    binaries:
      ruby:         "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/ruby"
      irb:          "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/irb"
      gem:          "/usr/local/rvm/rubies/ruby-1.9.3-p194/bin/gem"
      rake:         "/usr/local/rvm/gems/ruby-1.9.3-p194/bin/rake"

    environment:
      PATH:         "/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
      GEM_HOME:     "/usr/local/rvm/gems/ruby-1.9.3-p194"
      GEM_PATH:     "/usr/local/rvm/gems/ruby-1.9.3-p194:/usr/local/rvm/gems/ruby-1.9.3-p194@global"
      MY_RUBY_HOME: "/usr/local/rvm/rubies/ruby-1.9.3-p194"
      IRBRC:        "/usr/local/rvm/rubies/ruby-1.9.3-p194/.irbrc"
      RUBYOPT:      ""
      gemset:       ""
其他两个暂存和生产文件是

部署/staging.rb

set :domain, "staging.myapp.com"
set :rails_env, "staging"
set :default_environment, {  
   'PATH' => "/usr/local/bin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/opt/local/bin"  
}
部署/production.rb

set :domain, "production.myapp.com"
set :rails_env, "production"
set :default_environment, {  
  'PATH' => "/usr/local/rvm/gems/ruby-1.9.3-p194/bin:/usr/local/rvm/gems/ruby-1.9.3-p194@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p194/bin:/usr/local/rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/mysql/bin"  
 }
因此,失败的原因是试图将安装部署捆绑到新交付的应用程序目录中。如果bundle install-nodeployment运行正常


我做错了什么或没有配置。我花了两天时间试图解决这个问题,但似乎没有任何意义,为什么thios不能工作

您不得不错过capistrano的rvm说明:

只要阅读它们,我建议您使用gem版本,它基本上可以让您选择合适的ruby:

安装:

gem install rvm-capistrano
或添加到文件中:

gem 'rvm-capistrano'
示例Capfile deploy.rb:

set :rvm_type, :system    # :user is the default
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system

require "rvm/capistrano"  # Load RVM's capistrano plugin.
但最好去查看文档,因为有更多选项:

不要使用rvm1/capistrano3或rvm/capistrano;不要设置:pty

将服务器上runner用户的~/.rvmrc更改为此-请注意,它必须在不以交互方式运行时自动终止的行之前:

获取非交互式Shell的rvm,例如capistrano 来源/etc/profile.d/rvm.sh 导出BASH_ENV=$HOME/.bashrc 导出rvm_不是_外壳函数=0 如果不是以交互方式运行,则不要执行任何操作 [-z$PS1]&返回
谢谢你的指点。最后,我不得不删除所有gem、ruby实例和rvm,然后重新安装!我不知道在安装过程中到底出了什么问题。完成后,我可以使用RVMShell从命令行进行捆绑包的安装部署,就像使用RVMCapistranoGem一样。当我添加您的解决方案时,它也与Capistrano一起工作,非常感谢您的想法,如果我没有损坏的安装,这将在最初修复问题!您最初的问题是由rubygems bundler 1.0.0引起的—rvm的新安装也带来了新版本—1.0.2,它解决了问题—您刚刚结束了数小时的痛苦和困惑。
gem 'rvm-capistrano'
set :rvm_type, :system    # :user is the default
set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system

require "rvm/capistrano"  # Load RVM's capistrano plugin.