我已经构建了一个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版本?我该如何解决这个问题?
答案 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 stop
和gem install bundler