我正在尝试使用OCRA在Windows计算机上包装Ruby程序。当我尝试使用它为程序创建可执行文件时,它在运行时丢了一个奇怪的错误。我尝试了一个简单的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]AppDataLocalTempocr9C6D.tmpbinruby.exe): 14001
注意:这不是此人的问题的重复,它具有相同的错误消息。我无法在生成它的计算机上运行EXE,而问链接问题的人是在 other> other 计算机上运行它的问题。
这是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专业64位。
我还尝试在没有-no-dep-run标志的情况下运行它,在我的C:驱动器上运行exe而不是h:,然后在具有本地管理员特权的命令提示符中运行它。所有这些都传达了相同的错误消息。
我该如何修复?
现在有一个更新的OCRA 1.3.9解决了问题。
我能够通过卸载Ruby并通过RubyInstaller安装旧版本(即2.3.3(来解决问题。2.4.1和OCRA似乎存在问题。我在几台新鲜的计算机上进行了测试,即使使用新的安装也无法使用2.4.1。