【问题标题】:"msvcrt-ruby18.dll was not found" with RubyRuby 中的“找不到 msvcrt-ruby18.dll”
【发布时间】:2010-07-14 20:50:36
【问题描述】:

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

rails -h

几秒钟后我收到一个弹出错误消息:

ruby.exe - 无法找到组件

此应用程序启动失败 因为 msvcrt-ruby18.dll 不是 成立。重新安装应用程序 可能会解决问题。

我正在跑步:

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

有什么方法可以测试导致此错误的原因吗?有谁知道这意味着什么?

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

【问题讨论】:

  • 是的,遇到了同样的问题..您在安装 1.9.1 之前安装了 ruby​​ 1.8 吗?

标签: ruby-on-rails ruby dll rubygems


【解决方案1】:

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。

【讨论】:

  • 我实际上没有安装 Mongrel gem,但它可能是另一个 gem。我会努力的!
  • 当您尝试使用仅针对 1.8 编译的 1.9 下的二进制 gem 时,会发生您看到的错误。尝试联系 gem 作者并将他们指向 Rake 编译器的方向:github.com/luislavena/rake-compiler
  • 一定是某个地方不兼容,因为我刚刚升级了所有东西,现在一切正常。谢谢。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    JRuby 可能更适合您。无论哪种方式,尝试在 Windows 上使用 Ruby 都会给您留下不好的印象。要么让一个带有 Linux 的虚拟机使用它,要么支付 10 美元/月购买一个可以玩的 VPS。

    【讨论】:

    • 我一直在 Windows 上使用 Ruby,没有什么大的抱怨。告诉某人转移到不同的操作系统来解决这个问题是荒谬的。
    • 对你有好处。我并不是说这是不可能的,但根据我的个人经验,这是一种痛苦。我没有告诉他做任何事情,我只是在推荐一个替代方案。顺便说一句,我在这里没有看到你的答案。
    【解决方案4】:

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

    【讨论】:

      【解决方案5】:

      解决 msvcrt-ruby.dll 错误

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

      >> 宝石卸载 json > 宝石安装 json

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-03-06
        • 2011-06-09
        • 2011-01-11
        • 1970-01-01
        • 1970-01-01
        • 2011-02-19
        • 2011-04-17
        • 1970-01-01
        相关资源
        最近更新 更多