`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
541
задан Omar A. Shaban 04 окт. '11 в 12:39
источник поделиться

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 посмотреть, действительно ли файл там.

964
ответ дан Emil Ivanov 13 нояб. '11 в 20:09
источник поделиться

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

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

sudo apt-get install build-essential
35
ответ дан James Dunmore 01 июля '13 в 14:42
источник поделиться

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

29
ответ дан kenju254 23 нояб. '13 в 12:29
источник поделиться

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

sudo apt-get install ruby1.8-dev
17
ответ дан Matteo Alessani 04 окт. '11 в 12:44
источник поделиться

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

sudo apt-get install ruby-dev

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

10
ответ дан Sergey Nikolaev 15 янв. '14 в 15:41
источник поделиться

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

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

работал у меня на Fedora.

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

2
ответ дан JGutierrezC 12 дек. '13 в 7:51
источник поделиться

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

Если да, то проверьте Как установить определенную версию рубинового драгоценного камня?

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

1
ответ дан kenorb 11 июня '14 в 12:48
источник поделиться

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

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

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

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

0
ответ дан Moniv 19 нояб. '12 в 10:31
источник поделиться

Другие вопросы по меткам