RUBY ON RAILS - 使用Ruby找不到“msvcrt-ruby18.dll”

时间:2010-11-02 21:12:56

标签: ruby-on-rails ruby rubygems

我正在使用: Windows 7的 rails 3.0

每当我尝试运行rake db:migrate时。我在弹出窗口中收到以下错误...

此应用程序无法启动,因为找不到msvcrt-ruby18.dll。重新安装应用程序可能会解决问题。

这里需要帮助.. 日Thnx ..

3 个答案:

答案 0 :(得分:2)

您使用的是哪个版本的红宝石?

如果<= 1.8,那么只需将该dll添加到您的路径中(您应该将它放在某处)。

如果您正在使用ruby >= 1.9,那么您安装的宝石中可能有一个本机组件尚未针对此版本进行更新,仍然依赖于较旧的ruby dll。您可以尝试通过本机编译它们(在Win7下很难)或在某处搜索更新版本。

答案 1 :(得分:0)

msvcrt-ruby18.dll是MRI 1.8.x的运行时库。不知何故,您安装了一个MRI C扩展,作者提供了一个预编译的二进制文件,但版本信息错误。这样,您最终获得了为MRI 1.8.x编译的C扩展,但实际上您正在使用YARV 1.9.2-p0。

您需要找到不同版本的gem,它为您的YARV版本提供预编译的二进制文件,或者您需要自己编译它。

如果你使用the MinGW port of YARV,这是微不足道的:只需安装the DevKit,然后使用--platform=ruby选项重新安装有问题的gem,以强制编译。

答案 2 :(得分:0)

如果使用“mongrel_rails start”启动杂种时出现此问题,请阅读this one

安装新的预发布版本的Mongrel:

gem install mongrel --pre

还要在您的Gemfile中添加“gem mongrel”并使用“rails s”运行应用程序