我有一个rails 5.1 app,这是我的.ruby-version
ruby-2.5.0
这是rvm list
的输出rvm rubies
ruby-2.3.1 [ x86_64 ]
=* ruby-2.4.0 [ x86_64 ]
ruby-2.5.0 [ x86_64 ]
当我cd到“current”(使用Capistrano部署)时,我和我运行以下内容:
RAILS_ENV=production bundle exec ruby --version
我得到了
ruby 2.4.0p0 (2016-12-24 revision 57164) [x86_64-linux]
我认为.ruby-version是触发使用ruby版本的原因。我做错了什么?
答案 0 :(得分:2)
如果您打算使用2.5..0作为应用程序的默认ruby版本,请在服务器上运行
rvm use --default 2.5.0
它给你2.4.0,因为它设置为默认值,当前ie = *表示它将被使用。
此外,由于您使用capistrano进行部署并使用rvm,因此您应该考虑使用此gem。
答案 1 :(得分:0)
根据文档,您可以显式设置ruby版本,它也可能是您的服务器 - 例如,如果您使用的是nginx,则必须在nginx配置文件中明确说明您的ruby版本的路径 - 但这完全取决于在您的生产配置
$ rvm --default use 2.1.1
$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin12.0]