'require': нет такого файла для загрузки-mkmf (LoadError)

Я пытался установить rails на Ubuntu Natty Narwhal 11.04, используя ruby1.9.1.

Я установил ruby с помощью apt-get install ruby1.9.1-full который содержит пакет dev. Я погуглил ошибку, и все предложили мне установить 1.9.1-dev, который у меня уже есть.

Building native extensions.  This could take a while...
ERROR:  Error installing rails:
    ERROR: Failed to build gem native extension.

        /usr/bin/ruby1.8 extconf.rb
extconf.rb:36:in `require': no such file to load -- mkmf (LoadError)
    from extconf.rb:36


Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1 for inspection.
Results logged to /usr/lib/ruby/gems/1.8/gems/bcrypt-ruby-3.0.1/ext/mri/gem_make.out

9 ответов


после некоторого поиска решения оказывается -dev пакет необходим, не только ruby1.8. Так что если у вас есть ruby1.9.1 делаешь

sudo apt-get install ruby1.9.1-dev

или для установки общей версии ruby используйте (согласно комментарию @lamplightdev):

sudo apt-get install ruby-dev

починилось.

попробовать locate mkmf чтобы увидеть, действительно ли файл существует.


Это ответ, который работал для меня. Был в комментариях выше, но заслуживает своего законного места в качестве ответа для ubuntu 12.04 ruby 1.8.7

sudo apt-get install ruby-dev
# if above doesnt work make sure you have build essential
sudo apt-get install build-essential

мне также нужно было установить build-essential:

sudo apt-get install build-essential

проблема по-прежнему рекурсивна на Ubuntu 13/04/13.10/14.04

и

sudo apt-get install ruby1.9.1-dev

сработало для меня хорошо. Поэтому, если вы используете Ubuntu 13.04/13.10/14.04 тогда использование этого действительно пригодится.

это работает, даже если версия ruby 1.9.3. Это потому, что нет ruby1.9.3-dev доступен в репозитории...


вы пробовали:

sudo apt-get install ruby1.8-dev

Я получил аналогичную ошибку при установке bundle

sudo apt-get install ruby-dev

отлично работает для меня и решает проблему Минт 16 наследником пакетов ruby1.9.3


Я думаю, немного поздно, но

sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel

работал на меня в fedora.

http://nokogiri.org/tutorials/installing_nokogiri.html


У вас есть Ruby 1.8, поэтому вам нужно обновить по крайней мере до 1.9, чтобы он работал.

если да, то проверьте Как установить определенную версию ruby gem?

Если это не поможет, переустановите ruby-dev снова.


вы можете использовать RVM (Ruby version manager), который помогает в управлении всеми версиями ruby на вашем компьютере, что очень полезно для разработки (при переходе на нестабильный выпуск в стабильный выпуск)

или для Linux (ubuntu) перейти на sudo apt-get install ruby1.8-dev

затем sudo gem install rails чтобы проверить это сделать rails -v он покажет версию на rails

после этого вы можете установить пакеты (необходимые камни для развития)