0

我必须从高于脚本的路径运行我的 Ruby 脚本。我的 Ruby 文件在文件夹lib中。我在控制台中启动它:

jruby --1.9 -Clib main.rb

但它不能正常工作。它更改了 Dir.pwd,但 require 没有看到它,另一个库 DataMapper 也没有看到它。我知道我可以通过 -Ilib 添加需要看到的路径,但它不能解决 DataMapper 问题,而且我认为它很难看。

4

2 回答 2

0

require$LOAD_PATH. 如果您要加载的文件所在的目录不在 上$LOAD_PATH,则require不会找到它。如果要加载文件不是从$LOAD_PATH当前执行文件的位置而是相对于当前执行文件的位置,则需要使用require_relative.

于 2012-03-18T13:06:49.037 回答
0

假设这是您的文件夹结构

  • 应用程序/其他/some_class.rb
  • 应用程序/lib/main.rb

如果您导航到 lib 文件夹

  • cd 应用程序/库

然后运行你的 main.rb 脚本

  • jruby main.rb

您可以使用此行参考 main.rb 脚本中的 some_class.rb 文件

  • 需要“../other/some_class.rb”
于 2013-05-14T02:26:35.917 回答