【发布时间】:2010-11-02 21:12:55
【问题描述】:
我正在使用: Windows 7的 轨道 3.0
每当我尝试运行 rake db:migrate。我在弹出窗口中收到以下错误...
此应用程序无法启动,因为找不到 msvcrt-ruby18.dll。重新安装应用程序可能会解决问题。
在这里需要帮助.. thnx..
【问题讨论】:
标签: ruby-on-rails ruby rubygems
我正在使用: Windows 7的 轨道 3.0
每当我尝试运行 rake db:migrate。我在弹出窗口中收到以下错误...
此应用程序无法启动,因为找不到 msvcrt-ruby18.dll。重新安装应用程序可能会解决问题。
在这里需要帮助.. thnx..
【问题讨论】:
标签: ruby-on-rails ruby rubygems
您使用的是哪个版本的 ruby?
如果 <= 1.8 则只需将该 dll 添加到您的路径中(您应该在某处拥有它)。
相反,如果您使用的是 ruby >= 1.9,那么您安装的其中一个 gem 可能具有尚未针对此版本更新的本机组件,并且仍然依赖于较旧的 ruby dll。您可以尝试通过本地编译它们(在 Win7 下会很难)或在某处搜索更新版本。
【讨论】:
msvcrt-ruby18.dll 是 MRI 1.8.x 的运行时库。不知何故,您安装了一个 MRI C 扩展,作者为其提供了预编译的二进制文件,但版本信息错误。这样,您最终得到了一个为 MRI 1.8.x 编译的 C 扩展,但您实际上使用的是 YARV 1.9.2-p0。
您需要找到为您的 YARV 版本提供预编译二进制文件的 gem 的不同版本,或者您需要自己编译。
如果您使用the MinGW port of YARV,这很简单:只需安装the DevKit,然后使用--platform=ruby 选项重新安装有问题的gem,以强制编译。
【讨论】:
如果在使用“mongrel_rails start”启动mongrel时出现此问题,请阅读this one
安装新的 Mongrel 预发布版本:
gem install mongrel --pre
还将“gem mongrel”添加到您的 Gemfile 并使用“rails s”运行应用程序
【讨论】: