我开发了一个非常简单的rails应用程序(根据数据库中的数据绘制一些图表)。
现在,我的客户希望在线和离线使用此rails应用程序。
所以我用OCRA创建了一个.exe文件(效果很好!)。 如果我在开发机器上运行我的.exe-File,则everytihing按预期工作。将启动rails服务器,我可以通过打开127.0.0.1:3000来使用该应用程序。
但是,如果我在另一台机器上使用相同的.exe-File,则会出现错误,说我需要在rails之前安装psych / libyaml以正确使用rails。
我使用此命令构建了我的OCRA-Application:
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
有没有人知道如何解决这个问题?
提前致谢!
菲利普
答案 0 :(得分:3)
所以我找到了这个解决方案。我所要做的就是添加依赖的.dll,它们可以在ruby安装的bin-Directory中找到。
我已经使用此命令执行此操作:
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
希望这有助于其他任何人!