我有以下脚本:
“/foldera/bin/command.rb”,调用require 'some_library'
“/foldera/lib/some_library.rb”
“~/scripts/command.rb”,这是指向“/folderA/bin/command.rb”的符号链接
当我运行ruby ~/scripts/command.rb(调用符号链接)时,它工作正常,但是由于符号链接,__FILE__是“~/scripts”,而不是“/foldera/bin/”。我解决这个路径问题的最佳方法是:

$:.push File.dirname(Pathname.new(__FILE__).realpath) + '/../lib'

这个解决方案看起来很肮脏。有没有更好的方法来组织这件事?

最佳答案

我建议创建一个包含/folderA中内容的自包含gem,然后使用gem中~/scripts中需要的代码(即需要'folderA')
希望这有助于找到一个更清洁的解决方案。

08-15 17:38