我正在使用: Windows 7的 rails 3.0
每当我尝试运行rake db:migrate时。我在弹出窗口中收到以下错误...
此应用程序无法启动,因为找不到msvcrt-ruby18.dll。重新安装应用程序可能会解决问题。
这里需要帮助.. 日Thnx ..
答案 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”运行应用程序