`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
Ответ 7
Я думаю, немного поздно, но
sudo yum install -y gcc ruby-devel libxml2 libxml2-devel libxslt libxslt-devel
работал у меня на Fedora.
http://nokogiri.org/tutorials/installing_nokogiri.html
Ответ 8
У вас есть Ruby 1.8, поэтому вам нужно обновить его, по крайней мере до 1.9, чтобы он работал.
Если да, то проверьте Как установить определенную версию рубинового драгоценного камня?
Если это не поможет, повторите установку ruby-dev
снова.
Ответ 9
Вы можете использовать RVM (менеджер версий Ruby), который помогает управлять всеми версиями ruby на вашем компьютере, что очень полезно для вас при разработке (при переносе на нестабильный выпуск на стабильный выпуск).
или для Linux (ubuntu) для
sudo apt-get install ruby1.8-dev
затем sudo gem install rails
, чтобы проверить, что это делает rails -v
, он покажет версию на рельсах
после этого вы можете установить пакеты (необходимые драгоценные камни для разработки)