Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"msvcrt-ruby18.dll was not found" with Ruby

When I try to run even simple rails commands such as:

rails -h

I get a popup error after a few seconds that says:

ruby.exe - Unable To Locate Component

This application has failed to start because msvcrt-ruby18.dll was not found. Re-installing the application may fix the problem.

I am running:

  • Windows XP (yes I know I should attempt ruby on a Windows machine).
  • Ruby 1.9.1p378 [i386-mingw32].
  • Have updated all my gems to latest versions (as of 14-July-2010).

Is there a way I can test what is making this error? Does anyone know what it could mean?

I have found that in my ruby19/bin folder there is msvcrt-ruby191.dll but there is no msvcrt-ruby18.dll anywhere. Why would it be looking for this anyway if I'm using ruby 1.9?

like image 291
Adam Harte Avatar asked Jul 14 '10 20:07

Adam Harte


1 Answers

The current release version 1.1.5 of Mongrel is incompatible with Ruby 1.9 and throws this error when it is run. It's easy to solve - just make sure Rubygems is up-to-date:

gem update --system

Then install the new pre-release version of Mongrel:

gem install mongrel --pre

Alternatively, if this isn't caused by Mongrel, you can try installing the DevKit, then try this:

gem install *gemname* --platform=ruby

This forces compilation of the extension from source using DevKit and works with most of the major gems I've tried.

like image 162
Charles Roper Avatar answered Oct 16 '22 04:10

Charles Roper