“找不到msvcrt-ruby18.dll”与Ruby

时间:2010-07-14 20:50:36

标签: ruby-on-rails ruby dll rubygems

当我尝试运行简单的rails命令时,例如:

rails -h

几秒钟后我收到一个弹出错误,上面写着:

  

ruby​​.exe - 无法找到组件

     

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

我正在跑步:

  • Windows XP(是的,我知道我应该在Windows机器上尝试ruby)。
  • Ruby 1.9.1p378 [i386-mingw32]。
  • 已将我的所有宝石更新至最新版本(截至2010年7月14日)。

有没有办法可以测试出现此错误的原因?有谁知道这意味着什么?

我发现在我的ruby19/bin folder中有msvcrt-ruby191.dll,但在任何地方都没有msvcrt-ruby18.dll。如果我使用ruby 1.9,为什么还要寻找呢?

5 个答案:

答案 0 :(得分:16)

Mongrel的当前发行版1.1.5与Ruby 1.9不兼容,并在运行时抛出此错误。它很容易解决 - 只需确保Rubygems是最新的:

gem update --system

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

gem install mongrel --pre

或者,如果这不是由Mongrel引起的,您可以尝试安装DevKit,然后尝试:

gem install *gemname* --platform=ruby

这会强制使用DevKit从源代码编译扩展,并与我尝试过的大多数主要宝石一起使用。

答案 1 :(得分:0)

Ruby 1.9.1在我的Windows XP PC上运行良好,但在安装mongrel后我收到此错误消息。不幸的是,mongrel尚未更新Ruby 1.9.1。也许,因此,它会在我的电脑上生成此错误。

答案 2 :(得分:0)

你得到了gem的二进制版本,它只包含1.8的二进制文件 尝试gem install mongrel --platform = ruby​​ --pre

答案 3 :(得分:0)

解决了msvcrt-ruby.dll错误

安装DevKit(https://github.com/oneclick/rubyinstaller/wiki/Development-Kit

> gem uninstall json
> gem install json

答案 4 :(得分:-1)