繁体   English   中英

Ruby Ocra不会更改工作目录

[英]Ruby Ocra doesn't change the working directory

我将这些行放在Ruby代码之上,并尝试了多种组合,但没有一种起作用。

$:.unshift File.dirname($0)
Dir.chdir(File.dirname($0))

我的配置文件与Ocra创建的exe位于同一目录中。 该文件通过以下方式加载:

cnf = YAML.load_file('config.yml')

但是,该文件不会从所需的同一目录加载。 我认为该错误告诉它在exe运行时尝试从临时目录加载它。

错误

如何让脚本从与exe相同的目录中加载config.yml文件?

Ocra使用环境变量存储.exe ENV["OCRA_EXECUTABLE"]的位置。要访问相对于ruby_script.exe所在位置的文件,您必须在其中更改工作。 以下是一些可能适合您的代码:

Dir.chdir File.dirname(ENV["OCRA_EXECUTABLE"]) if ENV["OCRA_EXECUTABLE"]

在此行的末尾加上“ if ENV["OCRA_EXECUTABLE"] “可以防止脚本在没有ocra作为红宝石文件(.rb)的情况下运行时引发错误。 它只是检查此ENV是否存在,如果存在,则您的程序正在ocra EXE中运行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM