【问题标题】:require file on the top level directoryrequire 顶层目录中的文件
【发布时间】:2012-03-17 11:42:08
【问题描述】:

这是我的项目结构:

/app
--/lib
----/porter.rb
--/spec
----/porter_spec.rb

在文件 porter_spec.rb 我有包含指令:

require '../lib/porter' 

现在我正在尝试运行测试:

cd app
rspec

并得到错误:

C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- ../lib/porter (LoadError)
        from C:/Ruby193/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
        from C:/Dropbox/development/myprojects/lj-parser/spec/porter_spec.rb:3:in `<top (required)>'

如何在 lib 文件夹中获取文件?

【问题讨论】:

    标签: ruby require


    【解决方案1】:

    显然,您当前的目录不是您认为的那样。

    你应该使用require_relative(ruby 1.9+):

    require_relative '../lib/porter'
    

    【讨论】:

      【解决方案2】:

      在ruby1.9中,可以使用:

      require_relative '../lib/porter'
      

      在ruby1.8或更高版本中,可以使用:

      require File.expand_path("../lib/porter", __FILE__)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-08-03
        • 2020-05-23
        • 1970-01-01
        相关资源
        最近更新 更多