【问题标题】:rvm and GEM_PATH after Capistrano deployment; can't access "rails c"Capistrano 部署后的 rvm 和 GEM_PATH;无法访问“rails c”
【发布时间】:2011-12-06 21:51:43
【问题描述】:

我正在使用 Capistrano 部署到使用 rvm 和 ruby​​ 1.9.2-p290 的 Ubuntu 11.10 主机。这似乎工作正常。

Passenger / nginx 设置正确,并且可以正常提供 rails 页面。问题是我现在在几个地方都有宝石。

宝石环境给了我:

GEM PATHS:     "/usr/local/rvm/gems/ruby-1.9.2-p290:/usr/local/rvm/gems/ruby-1.9.2-p290@global

但 rails 安装在 $appname/shared/bundle/ruby/1.9.1/gems 中。我想运行rails c 但不能。我将如何解决这个问题?

编辑#1 这是在 Linode 上托管的

【问题讨论】:

    标签: ruby-on-rails rubygems ruby-on-rails-3.1 rvm


    【解决方案1】:

    我最初是在跑步:

    bundle exec rails c
    

    但是,遇到了权限问题,所以你必须提供环境:

    RAILS_ENV=production bundle exec rails c
    

    或者更好:

    bundle exec rails c production
    

    【讨论】:

      【解决方案2】:

      如果你使用过:

      bundle install --path <path>
      

      那么您需要使用以下命令运行 gem:

      bundle exec rails c
      

      你也可以使用:

      bundle install --path <path> --binstubs
      

      并更改PATH

      PATH=$appname/bin:$PATH
      

      或者使用 rvm 中的 bundler 钩子:

      chmode +x $rvm_path/hooks/after_cd_bundler
      

      当你:

      cd $appname
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多