代码之家  ›  专栏  ›  技术社区  ›  Jamal Abdul Nasir

Ruby on Rails-“MSVCRT-Ruby18.dll was not found”with Ruby

  •  1
  • Jamal Abdul Nasir  · 技术社区  · 15 年前

    我正在使用: Windows 7 轨道3.0

    每当我尝试运行rake db:migrate时。弹出窗口中出现以下错误…

    由于找不到msvcrt-ruby18.dll,此应用程序启动失败。重新安装应用程序可能会解决问题。

    这里需要帮助…… 谢谢。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Jack    15 年前

    您使用的是哪个版本的Ruby?

    如果 <= 1.8 然后将该dll添加到您的路径中(您应该在某个地方拥有它)。

    如果,相反,您使用的是Ruby >= 1.9 然后,您安装的gem中可能有一个包含本机组件,该组件尚未对此版本进行更新,仍然依赖于旧的Ruby DLL。您可以尝试以本机方式编译它们(在Win7下很难实现),或者在某个地方搜索更新的版本。

        2
  •  0
  •   Jörg W Mittag    15 年前

    msvcrt-ruby18.dll 是mri 1.8.x的运行库。不知何故,您安装了一个mri C扩展,作者为此提供了一个预编译的二进制文件,但版本信息不正确。这样,您最终得到了一个为mri 1.8.x编译的C扩展,但实际上您使用的是yarv1.9.2-p0。

    您需要找到一个不同版本的gem,它为您的yarv版本提供了一个预编译的二进制文件,或者您需要自己编译它。

    如果你使用 the MinGW port of YARV ,这很简单:只需安装 the DevKit 然后用 --platform=ruby 选项,强制编译。

        3
  •  0
  •   Community Mohan Dere    9 年前

    this one 如果使用“Mongrel_rails start”启动Mongrel时出现此问题

    安装新的Mongrel预发行版本:

    gem安装mongrel--pre

    还可以将“gem-mongrel”添加到gemfile中,并使用“rails s”运行应用程序。

    推荐文章