【问题标题】:Rails Capistrano deploy fails with new gemsRails Capistrano 部署因新宝石而失败
【发布时间】:2012-09-04 12:37:05
【问题描述】:

首先让我说这是我第一次部署 Rails 应用程序,所以我对此很陌生。我的生产环境现在成功运行并使用 Capistrano 进行了部署,但由于缺少 gems,第一次部署失败。为了解决这个问题,我基本上在服务器上克隆了我的仓库,运行

bundle install

这成功安装了 gems,下次成功部署 Capistrano。

考虑到这一点,是否有正确的方法在每次部署时安装新的 gem?

我的环境是 Ubuntu Server、Apache2、Passenger、Rails。

谢谢!

【问题讨论】:

    标签: ruby-on-rails deployment gem capistrano


    【解决方案1】:

    我们的 deploy.rb 中有以下内容

    require 'bundler/capistrano'
    load 'deploy/assets'
    before 'deploy', 'rvm:install_rvm'
    
    ssh_options[:forward_agent] = true
    set :rvm_ruby_string, ENV['GEM_HOME'].gsub(/.*\//,"") # Read from local system
    require 'rvm/capistrano'
    set :rvm_ruby_string, '1.9.3-p194'
    
    ...
    

    对我们来说就像是一种享受,尽管通常在新版本中我们必须直接在服务器上安装一些 gem。

    【讨论】:

    • 是的,顶部的 require 告诉 capistrano 执行捆绑安装。经过一番激烈的谷歌搜索后,几分钟前才发现这一点。 :D
    • 是的,看到你在我点击保存后回答了你自己的问题:)
    【解决方案2】:

    将此添加到 config/deploy.rb 文件的顶部将使 Capistrano 执行捆绑安装。

    需要“捆绑器/capistrano”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-06
      相关资源
      最近更新 更多