Rails 看到的 Ruby 版本不正确

Rails Seeing Incorrect Ruby Version

我已经构建了一个 Rails 5 应用程序,它运行良好,但我想更改 Ruby 我正在使用它的版本。我在 Ubuntu 16.04 上使用 RVM 1.27.0。我将应用程序文件夹复制到不同的路径并更改了 .ruby_version 和我的 Gemfile:

上的版本

宝石文件:

source 'https://rubygems.org'
ruby "2.2.2"

.ruby_version:

ruby-2.2.2

一旦我更新了这些,我就移出并移回文件夹和 运行 a ruby -v:

ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

然后我 运行 安装了一个包,所有的东西都安装好了。

然而,当我 运行 rake -T 我得到这个:

Your Ruby version is 2.3.1, but your Gemfile specified 2.2.2.

我的 $PATH 看起来不错:

/home/ken/.rvm/gems/ruby-2.2.2/bin:/home/ken/.rvm/gems/ruby-2.2.2@global/bin:/home/ken/.rvm/rubies/ruby-2.2.2/bin:/home/ken/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

我错过了什么? Rails 从哪里提取 Ruby 版本?我该如何解决这个问题?

文件名应该是.ruby-version,而不是.ruby_version

你还应该有文件 .ruby-gemset 内容

gemset

检查此 link、Create .ruby-version and .ruby-gemset with rvm

您也可以尝试 spring stopgem install bundler

您正在使用系统捆绑器,这就是为什么您看到 ruby 的不同版本。您需要做的就是在您当前的 ruby 版本下安装 bundler:

gem install bundler
bundle install

完成捆绑安装后,您将获得为正确的 ruby 版本构建的 gem。