Rails看到不正确的Ruby版本

时间:2016-11-12 01:44:26

标签: ruby-on-rails ruby rvm

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

的Gemfile:

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

.ruby_version:

ruby-2.2.2

一旦我更新了这些内容,我就搬出去了文件夹并运行了一个ruby -v:

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

然后我运行了一个软件包安装,所有安装都没有错误。

然而,当我跑耙-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版本?我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

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

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os

with open("test", 'w') as f:
    f.write("hello")

with open("test2", 'w') as f:
    f.write("world")

print(os.stat("test").st_mtime_ns)
print(os.stat("test2").st_mtime_ns)

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

答案 1 :(得分:0)

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

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

gemset

点击此链接Create .ruby-version and .ruby-gemset with rvm

您还可以尝试spring stopgem install bundler