0

我试图要求:

PROJECT_DIR/lib/shrt.rb

从:

PROJECT_DIR/test/shrt_test.rb

我试过了:

require File.expand_path('.././lib/shrt.rb')
# and
require './lib/shrt.rb'
# and
require_relative '../lib/shrt.rb'

但是它给了我一个错误,指出它无法加载shrt.rb. lib/PROJECT_DIR/中,我通过 Rake 运行了一个 Ruby 测试文件:

ruby 'test/shrt_test.rb'

知道我做错了什么吗?

4

2 回答 2

0

我需要通过以下方式要求文件:

require './lib/shrt/version'
require './lib/shrt/client'

...在我试图在测试文件中要求的文件中。我需要使用require_relative '../lib/shrt'.

编辑但是现在,当我rake install使用 gem 时,我正在使用 Bundler,然后运行它,我得到`require': cannot load such file -- ./lib/shrt/version (LoadError).

编辑 2通过require_relative而不是仅requireversion文件上解决了问题。

于 2013-11-03T11:06:25.933 回答
0

做:

require './lib/shrt.rb'

不行?我一直以这种方式在项目中需要文件。

于 2013-11-02T21:38:41.200 回答