我必须从高于脚本的路径运行我的 Ruby 脚本。我的 Ruby 文件在文件夹lib中。我在控制台中启动它:
jruby --1.9 -Clib main.rb
但它不能正常工作。它更改了 Dir.pwd,但 require 没有看到它,另一个库 DataMapper 也没有看到它。我知道我可以通过 -Ilib 添加需要看到的路径,但它不能解决 DataMapper 问题,而且我认为它很难看。
我必须从高于脚本的路径运行我的 Ruby 脚本。我的 Ruby 文件在文件夹lib中。我在控制台中启动它:
jruby --1.9 -Clib main.rb
但它不能正常工作。它更改了 Dir.pwd,但 require 没有看到它,另一个库 DataMapper 也没有看到它。我知道我可以通过 -Ilib 添加需要看到的路径,但它不能解决 DataMapper 问题,而且我认为它很难看。
require
从$LOAD_PATH
. 如果您要加载的文件所在的目录不在 上$LOAD_PATH
,则require
不会找到它。如果要加载文件不是从$LOAD_PATH
当前执行文件的位置而是相对于当前执行文件的位置,则需要使用require_relative
.
假设这是您的文件夹结构
如果您导航到 lib 文件夹
然后运行你的 main.rb 脚本
您可以使用此行参考 main.rb 脚本中的 some_class.rb 文件