Capistrano部署后的rvm和GEM_PATH;无法访问“rails c”

时间:2011-12-06 21:51:43

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

我正在使用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

托管的

2 个答案:

答案 0 :(得分:1)

如果您使用:

bundle install --path <path>

然后你需要运行gems:

bundle exec rails c

你也可以使用:

bundle install --path <path> --binstubs

并更改PATH

PATH=$appname/bin:$PATH

或使用rvm中的bundler hook:

chmode +x $rvm_path/hooks/after_cd_bundler

将在您执行以下操作时更新路径:

cd $appname

答案 1 :(得分:1)

我最初在跑步:

bundle exec rails c

但是,正在获得权限问题,因此您必须提供env:

RAILS_ENV=production bundle exec rails c

或更好:

bundle exec rails c production