Ruby,使用ocra部署包含TK GUI的exe文件

5

Ocra无法处理需要'tk'的应用程序。

require 'tk'
puts 'nope'

使用ocra http://github.com/larsch/ocra将此代码打包无法正常工作(如链接中的一个问题所述)

问题:https://github.com/larsch/ocra/issues/29

(Ocra是1.9的“新”rubyscript2exe,本质上是为了部署rb脚本作为可执行文件)

唯一的问题似乎是tcl缺少DLL文件

我认为这不是问题

据我所知,问题在于tk缺少DLL文件
如果已知,可以在执行ocra时将它们包含进去

有没有一种方法可以知道tk需要哪些DLL依赖项才能正常工作?


我今天没有看问题跟踪器……它已经解决了(几小时前),抱歉。ocra.bat .\lib\main.rb --windows C:\Ruby192\lib\tcltk\ --no-autoload --add-all-core (添加所有核心是可选的,如果exe无需添加,则不要包含它)--> http://github.com/larsch/ocra/issues/29 - Onetimeposter123
如果你尝试过并且成功了,你应该将其作为答案发布并接受它(参见http://meta.stackexchange.com/questions/12513/should-i-not-answer-my-own-questions)。 - undur_gongor
1个回答

10

我今天没有查看问题跟踪器...它已经解决了(几个小时前),很抱歉。

ocra rubyfile.rb --windows C:\Ruby192\lib\tcltk\ --no-autoload --add-all-core

(--add-all-core是可选项,如果exe可以在没有它的情况下工作,则不要包括它)

--> https://github.com/larsch/ocra/issues/29


注意:顺序很重要!跟随父级的例子。 - Pakman
对我来说这些都不起作用。当我使用 ocra file.rb --windows... 时,会出现一个 require cannot load such file 的错误。当我使用 bundle exec ocra file.rb --windows .... 时,程序会出现,但是会出现一个关于不知道如何处理 .gitignore 的错误。ERROR: Don't know where to put gemfile C:/Users/user1/Desktop/ruby-tk/tk_02/.gitignore - FilBot3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接