2013-09-30 142 views
1

我开发了一个非常简单的rails应用程序(它根据数据库中的数据绘制了一些图)。Ruby中缺少libyaml(on rails)OCRA Build

现在,我的客户想要在线和离线情况下使用这个Rails应用程序。

所以我用OCRA来创建一个.exe文件(它工作的很好!)。 如果我在开发机器上运行我的.exe文件,everytihing按预期工作。一个Rails服务器将被启动,我可以通过打开127.0.0.1:3000来使用该应用程序。

但是,如果我在另一台机器上使用相同的.exe-File文件,则说明我需要在rails之前安装psych/libyaml以正确使用rails。

我已经建立我OCRA应用中使用此命令:

ocra example_sqlite_chartjs\bin\rails example_sqlite_chartjs --add-all-core --gemfile example_sqlite_chartjs\Gemfile --no-dep-run --gem-full --chdir-first --output example_sqlite_chartjs.exe -- server 

我从http://railsinstaller.org/en使用railsinstaller(适用于Windows),所以我想,一切都应该包括在这里。

这家伙似乎有一个类似的问题: https://groups.google.com/forum/#!searchin/ruby-ocra/libyaml/ruby-ocra/D5StGPzZsbE/YLOEkAKM0-oJ

有没有人有一个线索如何解决这个问题?

在此先感谢!

Philipp

回答

2

所以我找到了这个解决方案。我所要做的只是添加可以在ruby安装的bin-Directory中找到的依赖.dll。

我用这个命令这样做:

ocra example_sqlite_chartjs\bin\rails example_sqlite_chartjs --add-all-core --gemfile example_sqlite_chartjs\Gemfile --no-dep-run --gem-full --dll libeay32.dll --dll libffi-6.dll --dll libgdbm_compat-3.dll --dll libgdbm-3.dll --dll libiconv-2.dll --dll libyaml-0-2.dll --dll msvcrt-ruby191.dll --dll pdcurses.dll --dll sqlite3.dll --dll ssleay32.dll --dll tcl85.dll --dll tclpip85.dll --dll tk85.dll --dll zlib1.dll --chdir-first --output example_sqlite_chartjs.exe -- server 

希望这有助于任何人!