我在Ruby脚本中需要ActiveSupport,如下所示:
require 'rubygems'
require 'active_support/core_ext/hash'
使用some_hash.with_indifferent_access。
在Ruby 1.8中运行良好但Ruby 1.9引发了以下异常:
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- active_support/core_ext/hash (LoadError)
from <internal:lib/rubygems/custom_require>:29:in `require'
from backup.rb:3:in `<main>'
在Ruby 1.9.2中执行此操作的正确方法是什么?
答案 0 :(得分:2)
使用 ruby 1.9.2 和 activesupport 2.3.5 进入同样的问题。跑gem update activesupport
,更新为 3.2.9 ,问题就消失了。
答案 1 :(得分:1)
首先,Ruby 1.9已经包含了rubygems,所以你不需要包含它。
其次,在Ruby 1.9.1和带有ActiveSupport 3.0.3的Ruby 1.9.2下,这对我来说很好。您确定在正在测试的相同Ruby环境下正确安装了activesupport
gem吗? (也许ruby --version
和gem list
可能会显示出错误。)