Msvcrt-ruby18.dll не найден "с Ruby

Когда я пытаюсь запустить даже простые команды рельсов, такие как:

rails -h

Через несколько секунд я получаю всплывающее сообщение, в котором говорится:

ruby.exe - Не удается найти компонент

Это приложение не удалось запустить потому что msvcrt-ruby18.dll не был найденный. Повторная установка приложения может решить проблему.

Я запускаю:

  • Windows XP (да, я знаю, что я должен попробовать ruby ​​на машине Windows).
  • Ruby 1.9.1p378 [i386-mingw32].
  • Обновили все мои драгоценные камни до последних версий (по состоянию на 14 июля 2010 года).

Есть ли способ проверить, что делает эту ошибку? Кто-нибудь знает, что это может означать?

Я обнаружил, что в моем ruby19/bin folder есть msvcrt-ruby191.dll, но нет msvcrt-ruby18.dll где угодно. Почему он будет искать это в любом случае, если я использую ruby ​​1.9?

Ответ 1

Текущая версия 1.1.5 версии Mongrel несовместима с Ruby 1.9 и выдает эту ошибку при ее запуске. Это легко решить - просто убедитесь, что Rubygems обновлен:

gem update --system

Затем установите новую предварительную версию Mongrel:

gem install mongrel --pre

В противном случае, если это не вызвано Mongrel, вы можете попробовать установить DevKit, затем попробуйте следующее:

gem install *gemname* --platform=ruby

Это принудительно компилирует расширение из исходного кода с помощью DevKit и работает с большинством основных камней, которые я пробовал.

Ответ 2

Ruby 1.9.1 работал на моем ПК с Windows XP, но после установки mongrel у меня появилось это сообщение об ошибке. К сожалению, у mongrel пока нет обновления для Ruby 1.9.1. Возможно, по этой причине он генерирует эту ошибку на моем ПК.

Ответ 3

вы получили двоичную версию драгоценного камня, которая включает только двоичные файлы для 1,8 try gem install mongrel --platform = ruby ​​--pre

Ответ 5

JRuby может работать лучше для вас. В любом случае, пытаясь использовать Ruby на Windows, вы оставите неприятный вкус во рту. Либо получите виртуальную машину с Linux, чтобы работать с ней, либо заплатите 10 долларов за месяц за VPS, где вы можете играть.