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

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

rails -h 

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

ruby.exe – 无法找到组件

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

我在跑步:

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

有没有办法可以测试是什么造成了这个错误? 有谁知道这意味着什么?

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

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

 gem update --system 

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

 gem install mongrel --pre 

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

 gem install *gemname* --platform=ruby 

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

Ruby 1.9.1在我的Windows XP PC上运行良好,但在安装mongrel后我收到此错误消息。 不幸的是,mongrel还没有更新Ruby 1.9.1。 也许,出于这个原因,它会在我的电脑上产生这个错误。

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

要解决msvcrt-ruby.dll错误

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

 > gem uninstall json
 > gem install json

JRuby可能对你更好。 无论哪种方式,尝试在Windows上使用Ruby都会在您的口中留下不好的味道。 要么使用Linux的VM来使用它,要么为你可以玩的VPS支付10美元/月。