我开发了一个非常简单的rails应用程序(它根据数据库中的数据绘制一些图表(。
现在,我的客户希望在线和离线使用此rails应用程序。
所以我使用 OCRA 从中创建了一个.exe文件(效果很好!如果我在开发计算机上运行我的.exe文件,则一切都按预期工作。将启动一个 rails 服务器,我可以通过打开 127.0.0.1:3000 来使用该应用程序。
但是,如果我在不同的机器上使用相同的.exe文件,则会出现一个错误,指出我需要在 rails 之前安装 psych/libyaml 才能正确使用轨道。
我已经用这个命令构建了我的OCRA应用程序:
ocra example_sqlite_chartjsbinrails example_sqlite_chartjs --add-all-core --gemfile example_sqlite_chartjsGemfile --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
有没有人知道如何解决这个问题?
提前感谢!
菲利普
所以我找到了这个解决方案。我所要做的就是添加依赖的.dlls,它可以在Ruby安装的bin目录中找到。
我使用此命令来执行此操作:
ocra example_sqlite_chartjsbinrails example_sqlite_chartjs --add-all-core --gemfile example_sqlite_chartjsGemfile --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
希望这对其他人有所帮助!