【问题标题】:unshift + file.join in rubyruby 中的 unshift + file.join
【发布时间】:2009-09-08 18:53:16
【问题描述】:
$:.unshift File.join(File.dirname(__FILE__),\
'vendor','addressable-2.1.0','lib','addressable','uri')

上面的代码是否访问具有此路径的文件:

'vendor/addressable-2.1.0/lib/addressable/uri'

我正在尝试将可寻址 gem 提供给 Sinatra 应用程序以将其部署到我的托管服务提供商,但我一直收到:

"no such file to load -- addressable/uri"

将“unshift”行放入config.ru 之后。

【问题讨论】:

    标签: ruby file


    【解决方案1】:

    以上代码将路径“vendor/addressable-2.1.0/lib/addressable/uri”添加到用于查找外部文件的全局变量中。该路径将相对于放置此代码的文件所在的目录。因此,如果 {dir} 是放置 config.ru 的目录,它会将 {dir}/vendor/addressable-2.1.0/lib/addressable/uri 添加到包含的查找路径中。

    【讨论】:

      【解决方案2】:

      该行的作用是将路径“vendor/addressable-2.1.0/lib/addressable/uri”(相对于您的 ruby​​ 脚本所在的目录)放入加载路径,即 ruby​​ 目录列表在查找您需要的文件时浏览。

      该行本身不会尝试访问任何文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-11
        • 1970-01-01
        • 2011-05-06
        • 2021-10-27
        • 1970-01-01
        • 2011-12-13
        相关资源
        最近更新 更多