修复“custom_require.rb:36:在`require':没有这样的文件加载”错误

时间:2012-09-20 23:05:44

标签: ruby

据我所知,在Ruby 1.9.2之后,'。'出于安全原因,我们不再适合您。这在使用某些宝石时似乎是一个问题(我想象的那些未更新到1.9),这个问题会引发错误,如

$HOME/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': cannot load such file -- rubylog (LoadError)

我曾经看过并修复过这个问题,通过(或许天真地)将一些要求改为require_relatives:https://github.com/mathpunk/MongoDB_Koans/commit/e2f7898347d328450ec121d22f701508f389cc53

现在我想使用rubylog,我收到了custom_require错误,所以我尝试了同样的技巧: https://github.com/mathpunk/rubylog/commit/995e13dccc6a197d280d0783f3fb7fe50deabd02

但是这一次,我只是得到了同样的错误。我还能尝试什么?

ETA:这段时间以来,我一直在使用sudo gem install blah来安装宝石,出于某种原因,对于rubylog来说,gem install rubylog就是这样做的。 (与RVM有关系吗?)现在一切正常。谢谢。

2 个答案:

答案 0 :(得分:0)

只需将库目录添加到LOAD_PATH:

$LOAD_PATH.unshift(File.dirname(__FILE__))

请参阅Understanding Ruby's load paths \

编辑:我假设你的脚本运行的地方有一个rubylog目录。如果您的脚本找不到rubylog,那么您需要将该位置添加到加载路径:

$LOAD_PATH.unshift('/path/to/rubylog')

你确定你有rubylog库吗? gem install rubylog

答案 1 :(得分:0)

您的代码在require 'rubylog'处失败 - 因此无法找到rubylog.rb本身。所以只需将包含rubylog.rb的dir添加到加载路径 - 类似$: << 'rubylog'的内容可能有帮助。