使用'require'和符号链接时的路径问题

时间:2011-02-27 14:53:45

标签: ruby path symlink require

我有以下脚本:

  • “/ 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'

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

1 个答案:

答案 0 :(得分:0)

我建议在/ folderA中创建一个自包含的gem,然后在〜/ script中使用你需要的代码(即要求'folderA')

希望这有助于找到更清洁的解决方案。