【问题标题】:How to change working directory in JRuby?如何更改 JRuby 中的工作目录?
【发布时间】:2012-04-03 05:19:26
【问题描述】:
我必须从高于脚本的路径运行我的 Ruby 脚本。我的 Ruby 文件位于文件夹 lib 中。我在控制台中启动它:
jruby --1.9 -Clib main.rb
但它不能正常工作。它更改了 Dir.pwd,但 require 没有看到它,另一个库 DataMapper 也没有看到它。
我知道我可以通过 -Ilib 添加需要看到的路径,但它不能解决 DataMapper 问题,而且我认为它很难看。
【问题讨论】:
标签:
ruby
jruby
require
working-directory
【解决方案1】:
假设这是您的文件夹结构
- app/other/some_class.rb
- app/lib/main.rb
如果您导航到 lib 文件夹
然后运行你的 main.rb 脚本
您可以在 main.rb 脚本中使用这一行来引用 some_class.rb 文件
- 需要“../other/some_class.rb”
【解决方案2】:
require 从$LOAD_PATH 加载文件。如果您要加载的文件所在的目录不在$LOAD_PATH 上,则require 将找不到它。如果要加载的文件不是从$LOAD_PATH 而是相对于当前执行文件的位置,则需要使用require_relative。