rvm 未在生产服务器上读取 .ruby-version
rvm is not reading .ruby-version on production server
我有一个 rails 5.1 应用程序,这是我的 .ruby-version
ruby-2.5.0
这是 rvm 列表的输出
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 版本的原因。我做错了什么?
如果您计划使用 2.5..0 作为应用程序的默认 ruby 版本 运行 在服务器上
rvm use --default 2.5.0
它给你的是 2.4.0,因为它设置为默认和当前版本,即 =* 表示它将被使用。
此外,由于您正在使用 capistrano 进行部署并且正在使用 rvm,因此您应该考虑使用此 gem。
根据文档,您可以明确设置 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]
我有一个 rails 5.1 应用程序,这是我的 .ruby-version
ruby-2.5.0
这是 rvm 列表的输出
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 版本的原因。我做错了什么?
如果您计划使用 2.5..0 作为应用程序的默认 ruby 版本 运行 在服务器上
rvm use --default 2.5.0
它给你的是 2.4.0,因为它设置为默认和当前版本,即 =* 表示它将被使用。
此外,由于您正在使用 capistrano 进行部署并且正在使用 rvm,因此您应该考虑使用此 gem。
根据文档,您可以明确设置 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]