【问题标题】:Why do I have to interpolate Dir.pwd when using require or autoload in Ruby?为什么在 Ruby 中使用 require 或 autoload 时必须插入 Dir.pwd?
【发布时间】:2011-08-29 08:48:55
【问题描述】:

这对我来说似乎是 Ruby 1.9 的问题,但每当我尝试使用 require "lib/mylibrary" 之类的东西来要求或自动加载源时,Ruby 都会失败,并出现“没有要加载的文件”错误。我总是必须这样插入 Dir.pwd:require "#{Dir.pwd}/lib/mylibrary"

我到处都可以看到不需要查找当前工作目录来包含源文件的源。我错过了什么?

【问题讨论】:

    标签: ruby path load require


    【解决方案1】:

    $LOAD_PATH 变量确定 Ruby 将检查要加载的文件的位置。从 Ruby 1.9 开始,默认情况下当前目录不在加载路径中,但您可以使用 require_relative 方法请求相对于当前工作目录的文件。

    更多详情请见this question

    【讨论】:

    • 您可以通过执行 'puts $:' 查看 $LOAD_PATH 当前设置的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    • 2016-03-02
    • 2022-06-21
    相关资源
    最近更新 更多