红宝石版和rvm

时间:2013-03-21 15:55:41

标签: ruby rvm

我通过rvm安装了ruby 1.9.3。但是如果出现错误,我会收到以下形式的消息

/home/railstest/vendor/bundle/ruby/1.9.1/gems/activerecord-3.1.0
/lib/active_record/base.rb:1082:in `method_missing': undefined method
`mass_assignment_sanitizer=' for ActiveRecord::Base:Class (NoMethodError)

问题是:这个1.9.1代表什么?似乎是一个红宝石版本,但我的是1.9.3。这是否意味着某种方式ruby 1.9.1被调用而不是1.9.3?

rvm列出了以下内容:

rvm list

rvm rubies

=* ruby-1.9.3-p392 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

3 个答案:

答案 0 :(得分:2)

您的路径中有1.9.1的事实意味着您使用的是ruby 1.9.1 - 它是Ruby兼容版本。

答案 1 :(得分:1)

路径中的版本组件未指定使用的确切Ruby版本,但指定了“库兼容版本”。这表明Ruby版本1.9.1,1.9.2和1.9.3的库API足够相似,它们可以(理论上)共享相同的gem。

实际的Ruby版本可能与该路径组件不同。 Yopu可以通过运行

来检查ruby版本
ruby --version

答案 2 :(得分:0)

可能你没有激活那个版本。

使用以下命令激活您的版本。

rvm use 1.9.3

要将此版本设为默认值,请运行

rvm use --default 1.9.3