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

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

Я установил ruby ​​с помощью apt-get install ruby1.9.1-full, который содержит пакет dev. Я ошибся в googled, и все предложили установить 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

Ответ 1

После некоторого поиска решения получается пакет -dev, а не только ruby1.8. Итак, если у вас ruby1.9.1 выполняется

sudo apt-get install ruby1.9.1-dev

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

sudo apt-get install ruby-dev

должен исправить это.

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

Ответ 2

Это ответ, который сработал у меня. Был в комментариях выше, но заслуживает своего законного места в качестве ответа для 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

Ответ 3

Мне также понадобилась встроенная технология:

sudo apt-get install build-essential

Ответ 4

Проблема по-прежнему рекурсивна на 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...

Ответ 5

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

sudo apt-get install ruby1.8-dev

Ответ 6

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

sudo apt-get install ruby-dev

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

Ответ 9

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

или для Linux (ubuntu) для sudo apt-get install ruby1.8-dev

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

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