Ruby:无法加载此类文件 - LoadError
Posted
技术标签:
【中文标题】Ruby:无法加载此类文件 - LoadError【英文标题】:Ruby: cannot load such file - LoadError 【发布时间】:2015-01-22 14:41:18 【问题描述】:我收到此“要求”无法加载此类文件错误。
我之前得到了这个,我添加了
__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。
'拜托',解释一下第一个和第二个代码块也给我解决办法
【问题讨论】:
这是一个超级混乱的解决方案。你用了什么require_relative
线?那应该行得通。请记住$:
和$LOAD_PATH
是同一个东西。
能不能给这句话加个“请”:“解释一下第一个和第二个代码块也给我一个解决方案”?这听起来像是一种需求。
听起来你想要月亮。到底是什么问题?
【参考方案1】:
为了清楚起见,而不是
__LIB_DIR__ = File.expand_path(File.join(File.dirname(__FILE__), ".."))
使用
__LIB_DIR__ = File.expand_path('..', File.dirname(__FILE__))
这是做什么的?
除非 $LOAD_PATH.include?(__LIB_DIR__) $LOAD_PATH.unshift(__LIB_DIR__) 结尾考虑一下:
ary = %w[a b]
ary # => ["a", "b"]
ary.unshift('c')
ary # => ["c", "a", "b"]
我尝试运行它,我得到了 LoadError。我也试过 require_relative 没有运气。
这可能有多种原因,但很遗憾,您没有分享发生这种情况的代码。 require
和require_relative
都用于加载代码,但在传递的参数中有不同的语法。我们需要知道您要加载的内容,以及与您的调用脚本相关的文件层次结构中的位置。
也许其中一个或相关的问题会有所帮助:
“ruby `require': cannot load such file” “Ruby 'require' error: cannot load such file” “require cannot load such file” “Cannot load files using require”【讨论】:
以上是关于Ruby:无法加载此类文件 - LoadError的主要内容,如果未能解决你的问题,请参考以下文章
安装 ruby-2.1.2:无法加载此类文件 -- openssl (LoadError)
Ruby 雾 gem 导致服务器无法运行:无法加载此类文件 -- xmlrpc/client (LoadError)
错误“...无法加载此类文件 -- mysql2/2.0/mysql2 (LoadError)”。在带有 Ruby 2.0.0 的 Windows XP 上
无法安装 gem - 无法构建 gem 本机扩展 - 无法加载此类文件 - mkmf (LoadError)