3

我正在尝试使用 OCRA 在 Windows 计算机上将 Ruby 程序打包为 .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

注意:这不是此人的问题的重复,它具有相同的错误消息。我无法在生成它的计算机上运行 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,并在具有本地管理员权限的命令提示符下运行它。所有人都给出了相同的错误信息。

我该如何解决?

4

2 回答 2

3

现在有一个更新的 Ocra 1.3.9 可以解决这个问题。

于 2017-07-05T09:01:14.973 回答
1

我可以通过卸载 Ruby 并通过RubyInstaller安装旧版本(即 2.3.3)来解决这个问题。2.4.1 和 ocra 似乎存在问题。我在几台新电脑上进行了测试,即使是全新安装,2.4.1 也无法正常工作。

于 2017-06-08T21:53:21.580 回答