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