Ruby:无法加载这样的文件--LoadError

时间:2014-11-24 19:15:20

标签: ruby

我得到了这个'要求'无法加载此类文件错误。

我之前得到了这个,我添加了

__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), ".."))
unless $LOAD_PATH.include?(__LIB_DIR__)
  $LOAD_PATH.unshift(__LIB_DIR__)
end

我想知道这是做什么的?我在主要的“要求”中添加了这个。我的项目的文件。 现在我写一个测试用例,

$:.unshift File.join(File.dirname(__FILE__), ".")

我尝试运行它,我得到了LoadError。我也试过require_relative没有运气。

结构:

Main
  Git
  lib
     files.rb
    base.rb
  test
     test1.rb

我在base.rb上面有第一个代码块,我在那里做了所有'要求' 当我尝试运行测试。我得到了LoadError。

'请',解释第一个和第二个代码块也给我一个解决方案

1 个答案:

答案 0 :(得分:0)

为清楚起见,而不是

__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), ".."))

使用

__LIB_DIR__ = File.expand_path('..', File.dirname(__FILE__))

这是做什么的?

unless $LOAD_PATH.include?(__LIB_DIR__)
  $LOAD_PATH.unshift(__LIB_DIR__)
end

考虑一下:

ary = %w[a b]
ary # => ["a", "b"]
ary.unshift('c')
ary # => ["c", "a", "b"]

  

我尝试运行它,我得到了LoadError。我也试过require_relative没有运气。

这可能有很多原因,但不幸的是,你并没有分享它出现的代码。 requirerequire_relative都用于加载代码,但在传递的参数中使用不同的语法。我们需要知道您尝试加载的内容,以及与调用脚本相关的文件层次结构的位置。

也许其中一个或相关问题会有所帮助: