Ruby 试图访问;“当前目录”;在打包的鞋子应用程序中

Ruby 试图访问;“当前目录”;在打包的鞋子应用程序中,ruby,packaging,shoes,Ruby,Packaging,Shoes,我需要建立一个应用程序,读取一个文件,这是外部的鞋包,我将分发它 在我的应用程序中,Dir.pwd指向temp Dir(至少在Windows中是这样),在这里脚本被解包以运行。我一直在尝试获取运行exe的目录,即我正在分发的包 应用程序需要读取此包之外分发的文件,然后在同一目录中写入另一个文件 Shoes运行时似乎也没有为此目录设置任何env变量。有什么建议吗 nachokb我不久前遇到了这个问题,还没有提交一个直接的解决方案。我最终找到了两个解决办法: 在应用程序安装时,将文件放在用户home

我需要建立一个应用程序,读取一个文件,这是外部的鞋包,我将分发它

在我的应用程序中,Dir.pwd指向temp Dir(至少在Windows中是这样),在这里脚本被解包以运行。我一直在尝试获取运行exe的目录,即我正在分发的包

应用程序需要读取此包之外分发的文件,然后在同一目录中写入另一个文件

Shoes运行时似乎也没有为此目录设置任何env变量。有什么建议吗


nachokb

我不久前遇到了这个问题,还没有提交一个直接的解决方案。我最终找到了两个解决办法:

  • 在应用程序安装时,将文件放在用户home dir~/的目录中(home间接寻址也适用于windows)
  • 将文件与生成的可执行文件打包在一起,以便将其解压缩到与应用程序相同的位置,从而可以使用Dir.pwd访问

  • 如果你找到另一种方法,请指出

    您是否尝试过以下方法:

    DIR = File.expand_path __FILE__
    
    __FILE_uuu是对当前文件的引用,FILE.expand_path提供完整的系统路径。在我的鞋子应用程序中工作:-)

    穿上鞋子

    托比