我正在尝试使用OCRA将Ruby程序打包为Windows计算机上的.exe。当我尝试使用它来为我的程序创建可执行文件时,它在运行时抛出了一个奇怪的错误。我尝试使用简单的Hello World程序,但错误仍然存在。
我在helloworld.rb
中添加了以下内容:
puts "Hello, World!"
然后,我通过OCRA运行文件:
H:\ocra test>ocra --no-dep-run helloworld.rb
=== Detected gem did_you_mean-1.1.0 (loaded, files)
=== 14 files, 32780 bytes
=== Detected gem ocra-1.3.8 (loaded, files)
=== 5 files, 291748 bytes
=== Including 59 encoding support files (3918740 bytes, use --no-enc to exclude)
=== Building helloworld.exe
=== Adding user-supplied source files
=== Adding ruby executable ruby.exe
=== Adding detected DLL C:/Ruby24-x64/bin/ruby_builtin_dlls/libgmp-10.dll
=== Adding detected DLL C:/Ruby24-x64/bin/ruby_builtin_dlls/libffi-6.dll
=== Adding library files
=== Compressing 7908093 bytes
=== Finished building helloworld.exe (1919669 bytes)
但是,当我尝试运行此可执行文件时,我收到以下消息:
H:\ocra test>helloworld.exe
FATAL ERROR: Failed to create process (C:\Users\[username]\AppData\Local\Temp\ocr9C6D.tmp\bin\ruby.exe): 14001
注意:这不是this person's question的副本,它具有相同的错误消息。我无法在生成它的计算机上运行EXE,而询问链接问题的人在其他计算机上运行它时遇到问题。
以下是Ruby和OCRA的版本,我相信这两个版本都是最新版本:
H:\ocra test>ruby --version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x64-mingw32]
H:\ocra test>ocra --version
Ocra 1.3.8
我使用的是Windows 7 Professional 64位。
我也尝试在没有--no-dep-run标志的情况下运行它,在我的C:驱动器而不是H:上运行exe,并在具有本地管理员权限的命令提示符下运行它。所有人都给出了相同的错误信息。
我该如何解决这个问题?
答案 0 :(得分:3)
现在有一个更新的Ocra 1.3.9修复了这个问题。
答案 1 :(得分:1)
我能够通过卸载Ruby并通过RubyInstaller安装旧版本(即2.3.3)来解决这个问题。 2.4.1和ocra似乎存在问题。我在几台新计算机上进行了测试,2.4.1即使重新安装也无法正常工作。