【发布时间】:2012-01-28 20:52:24
【问题描述】:
好吧,我很困惑。在 Rails 3.1 项目中,我在 Ruby NET/SMTP 库中遇到分段错误(请参阅question),并且消息表明它发生在 NET/SMTP 库的 ruby 1.9.1 版本中。然而,不久前我将 Ruby 的版本更改为 1.9.3。为了验证我的 Ruby 版本,当我转到我的项目并启动 Rails 控制台时,我得到了这个:
irb(main):001:0> RUBY_VERSION
=> "1.9.3"
当我从项目目录中查看 ruby 版本时,我得到了这个:
story_project # ruby --version
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
通过查看分段错误的完整路径可以看出 1.9.1 的含义:
/Users/don/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/smtp.rb:583: [BUG] Segmentation fault
这里有什么问题?为什么 Ruby 1.9.3 运行 1.9.1 的代码?一个 Ruby 版本与旧版本 Ruby 的整个库一起安装是否很常见?或者 RVM 有没有可能把它搞砸了?不确定这是否重要,但我在 MacOS 10.7.2 上运行。
【问题讨论】:
-
不是 rvm 问题,这里 1.9.1 表示这是 ruby 的兼容级别。
标签: ruby ruby-on-rails-3.1 rvm