2

我开发了一个非常简单的 rails 应用程序(它根据数据库中的数据绘制一些图表)。

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

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

但是,如果我在另一台机器上使用相同的 .exe 文件,则会出现一个错误,提示我需要在 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

有谁知道如何解决这个问题?

提前致谢!

菲利普

4

1 回答 1

3

所以我找到了一个解决方案。我所要做的就是添加可以在 ruby​​ 安装的 bin 目录中找到的依赖 .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

希望这对其他人有帮助!

于 2013-10-01T16:09:20.630 回答