1

我想分发一个使用 ruby​​ 和 wxruby 构建的应用程序,但我无法生成一个可执行文件,尝试使用 ocra 、 AllInOneRuby 但仅 Windows 支持并尝试使用 ruby​​script2exe,但有很多错误并且无法运行。

[编辑]

首先使用 ruby​​script2exe 我得到了 ruby​​script2exe:5:in replace': can't modify freeze string (TypeError) 但我有一个解决方案

后来我得到了require':Gem:Module的未定义方法`unresolved_deps'

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:35:in `require': undefined method `unresolved_deps' for Gem:Module (NoMethodError)
from /usr/lib/ruby/site_ruby/1.8/rubygems.rb:28
Couldn't execute this command (rc=256):
/usr/bin/ruby -r 'enumerator.so' -r 'rubygems/defaults.rb' -r 'rbconfig.rb' -r 'rubygems/deprecate.rb' -r 'rubygems/exceptions.rb' -r 'rubygems/custom_require.rb' -r 'rubygems.rb' -r 'rubygems/version.rb' -r 'rubygems/requirement.rb' -r 'rubygems/dependency.rb' -r 'rubygems/platform.rb' -r 'rubygems/specification.rb' -r 'rubygems/path_support.rb' -I '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe' -I '/tmp/tar2rubyscript.d.3642.1' -I '/usr/lib64/ruby/gems/1.8/gems/rubyscript2exe-0.5.3/lib' -I '/usr/lib/ruby/site_ruby/1.8' -I '/usr/lib64/ruby/site_ruby/1.8' -I '/usr/lib64/ruby/site_ruby/1.8/x86_64-linux' -I '/usr/lib/ruby/site_ruby' -I '/usr/lib64/ruby/site_ruby' -I '/usr/lib64/site_ruby/1.8' -I '/usr/lib64/site_ruby/1.8/x86_64-linux' -I '/usr/lib64/site_ruby' -I '/usr/lib/ruby/1.8' -I '/usr/lib64/ruby/1.8' -I '/usr/lib64/ruby/1.8/x86_64-linux' -I '.' -I '/home/richie' -I '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe' -I '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe/lib' -I '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe' -I '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe/lib' -r '/tmp/tar2rubyscript.d.3642.1/rubyscript2exe/require2lib.rb' 'Dropbox/15M/src/q.rb'  --require2lib-quiet 

停了下来。

使用红宝石 1.8.7

有什么帮助吗?

4

1 回答 1

2

更新:这可能不起作用,因为 wxruby gem 可能使用二进制“扩展”,这取决于平台,因此可能不容易在 Jruby 中工作......试着告诉

您可以使用 Jruby + warbler gem 尝试以下解决方法 - 它可以将您的 ruby​​ 程序打包成一个可移植的 JAR (java) 文件,然后您可以复制并在其他安装了 Java 的计算机上运行(只有 java,ruby 已经打包在 .jar 文件中:) )

几个月前我为自己做了一些笔记——它们对于所涉及的步骤应该足够了:

1-安装jruby

  • http://jruby.org/
  • 应该像下载 zip 文件一样简单,解压缩,设置环境变量,然后执行(一切都在他们的网站上进行了解释,非常简单)

2-安装莺宝石

jruby -S gem install warbler

3- 将您的 .rb 文件用于使用 warbler 进行编译/打包

(请参阅此 StackOverflow 线程:创建可部署的 JRuby JAR 文件?

mkdir myapp  
mkdir myapp/bin
vim   myapp/bin/myapp.rb  #create .rb file which will be 'booted' (executed) by jar file
mkdir myapp/lib
vim   myapp/lib/my_nice_lib.rb #leave all .rb files to be 'require'd here 
cd myapp  

4-使用warbler编译/打包成myapp.jar

warble jar

5- 在任何带有 java 的计算机上运行 myapp.jar,其中:

java -jar myapp.jar

希望它有帮助 - 报告它是如何进行的

干杯

于 2011-12-07T03:20:13.580 回答