首页 > 解决方案 > 为什么 Rails 不能识别新安装的 Ruby 版本?

问题描述

我最近似乎成功安装了 ruby​​ 2.5.1,但是当我ruby -v在“使用 ruby​​ 和 rails 的命令提示符”中键入命令时,它返回旧值 2.2.6。奇怪的是,当我输入ruby -v正常的命令提示符时,它会返回新安装的 2.5.1 版本。

我觉得我必须以某种方式更改Rails环境的配置。

当我打开“带有 ruby​​ 和 rails 的命令提示符”时,它显示以下配置

git:
  user.name:  USER_NAME_HERE
  user.email: EMAIL@********.com
  version:    git version 1.9.4.msysgit.2

ruby:
  bin:        C:/RailsInstaller/Ruby2.0.0/bin/ruby.exe
  version:    ruby 2.2.6p396 (2016-11-15 revision 56800) [i386-mingw32]

rails:
  bin:        C:/RailsInstaller/Ruby2.0.0/bin/rails.bat
  version:    Rails 5.1.6

如何让 Rails 识别新安装的 ruby​​ 版本?

标签: ruby-on-railsruby

解决方案


RailsInstaller 被硬编码到它安装的 Ruby 版本。您可以看到这是 Ruby: bin 和 version 行。您可能在其他地方安装了 Ruby 2.5。您可以采取两种方法

  • 在任何事情之前!备份 RailsInstaller 和 Sites 文件夹!!!真的!
  • 调整 RailsInstaller 脚本以指向新的 Ruby
  • 用较新的 Ruby 覆盖较旧的 Ruby,并调整路径不同的脚本。

关键文件是 C:\RailsInstaller\Rubyx.xx\setup_environment.bat

我怀疑关键线(11 号线附近)是

SET RUBY_DIR=%CD%

认为如果将其更改为您要使用的 Ruby 的路径,操作将转移到该版本。可能还需要改变

SET ROOT_DIR=%CD%

指向 RailsInstaller 主文件夹。


推荐阅读