使用require命令时出现问题

时间:2011-02-08 09:40:00

标签: ruby require ruby-1.9.2

我只是要求一个文件存在于与testfile相同的文件夹中,但是我一次又一次得到这个奇怪的消息......

<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- a.rb (LoadError)
        from <internal:lib/rubygems/custom_require>:29:in `require'
        from C:/dummyFirefox/test_a.rb:1:in `<top (required)>'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `block in load_spec_files'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `map'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/configuration.rb:386:in `load_spec_files'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/command_line.rb:18:in `run'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:55:in `run_in_process'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:46:in `run'
        from C:/Ruby192/lib/ruby/gems/1.9.1/gems/rspec-core-2.5.1/lib/rspec/core/runner.rb:10:in `block in autorun'

我在testfile test_a.rb中编写的代码就是:

require 'a.rb'

当我发出命令时:rspec test_a.rb该消息是上述错误。

我使用ruby-1.9.2进行开发。

希望我不会错过任何细节。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

在Ruby 1.9.2中,当前工作目录不再是加载路径($LOAD_PATH$:)的一部分。您必须使用以下方法手动添加:

$LOAD_PATH.unshift '.'

$:.unshift '.'

或者您可以明确要求该文件:

require './test_a.rb'