2013-03-04 1 views
5

RoR хорош, но иногда заставляет меня хотеть ударить головой о стену (и это, наверное, моя ошибка). Я просто пытаюсь установить Thin веб-клиента драгоценный камень, и когда я бегу sudo gem install thin, я получаю следующее сообщение об ошибке (это требует установки на eventmachine драгоценный камень первого):Ошибка при установке gem не удалось создать родные расширения gem - невозможно загрузить такой файл - mkmf

sudo gem install thin 
    Fetching: eventmachine-1.0.1.gem (100%) 
    Building native extensions. This could take a while... 
    ERROR: Error installing thin: 
      ERROR: Failed to build gem native extension. 

      /usr/bin/ruby1.9.1 extconf.rb 
      /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError) 
      from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require' 
      from extconf.rb:2:in `<main>' 

Я искал «Невозможно загрузить такую ​​ошибку file-mkmf», но большинство проблем, похоже, связано с тем, что она была доступна в версии 1.8-dev, но не в 1,8, но по мере запуска 1.9.3 я решил, что у меня есть mkmf - что я проверил с locate mkmf:

/home/ubuntu/.rvm/rubies/ruby-1.9.3-p362/lib/ruby/1.9.1/mkmf.rb 

каталог, в котором mkmf находится в явно не под/USR/Lib/рубин/... режиссер y - Я не уверен, что это моя проблема или нет, но, может быть, это достаточно, чтобы запустить одного из ваших экспертов там, что происходит и каково решение.

Кроме того, я использовал RVM установить рубин 1.9.3, а не просто gem install ...

Заранее спасибо!

ответ

5

Если вы используете RVM, вы никогда не должны использовать 'sudo'. Использование sudo вызывает libs и такие из пути rvm. Попробуйте просто квартиру

gem install thin 

и посмотрите, поможет ли это.

~ Кевин

+0

Это - спасибо @ devneck! К сожалению, я думаю, что я установил несколько драгоценных камней с использованием 'sudo', так что это может вызвать у меня некоторую боль по дороге, но я обязательно буду помнить об этом. – MandM

+0

Также возникла проблема, когда я попытался запустить тонкий веб-сервер, но был исправлен, просто добавив «тонкий» в Gemfile. – MandM

5

У меня была подобная ошибка в этом снаружи РВМ, я обнаружил, что мне нужно установить ruby-devel

+0

Вот и все! Amazon Linux –

3

У меня такая же проблема в Ubuntu 12.04. Решаемая:

sudo apt-get install build-essential 
sudo apt-get install curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt-dev 
+0

Я действительно пробовал их, прежде чем пытаться установить тонкие, но я все равно получаю ошибку, упомянутую выше. Трюк для меня состоял в том, чтобы установить драгоценный камень, не предваряя команду «sudo», но я думаю, что шаги, которые вы показали, все еще важны в этом процессе. – MandM

+1

На ubuntu 14.04, мне просто нужно было сделать: 'sudo apt-get install build-essential', за которым следует 'sudo gem install thin' – genegc

+0

Для ubuntu 14.04 я сделал sudo apt-get install libpq-dev –

1

Try ниже команды он будет помогает, чтобы решить проблему

sudo gem install thin -- --with-cflags=\"-O2 -pipe -march=native -w\" 
1

Это сделал это для меня:

sudo apt-get install ruby-dev 

Приветствия

+0

Мне пришлось делать ' sudo apt-get install ruby-dev build-essentials' на новой установке Ubuntu 16.04 – Phrogz