Не удалось собрать собственное расширение gem при установке RedCloth-4.2.9 при установке Linux

Я хочу установить Octopress в моем компьютере. Я пытаюсь сделать это как

Октопресс документ.

Когда я бегу

bundle install

Я получил сообщение об ошибке

An error occured while installing RedCloth (4.2.9), and Bundler cannot continue.
Make sure that `gem install RedCloth -v '4.2.9'` succeeds before bundling.

Итак, я бегу

sudo gem install RedCloth -v '4.2.9'

затем я снова получил сообщение об ошибке:

ERROR:  Error installing RedCloth:
ERROR: Failed to build gem native extension.

    /usr/bin/ruby1.9.1 extconf.rb
    /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- mkmf (LoadError)
from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from extconf.rb:1:in `<main>'

Я не узнал никаких знаний о рубине.

8 ответов

Решение

Вы, вероятно, обновились до Mountain Lion и не восстановили свой ruby-1.9.2 установить еще с новыми пакетами разработки.

rvm --force install 1.9.2
gem install bundle --no-ri --no-rdoc
bundle install

Если у вас нет Mountain Lion пакеты dev установлены правильно, используйте инструкции ThoughtBot.

Мое решение для Ubuntu 12.04 - установить полную версию ruby1.9.1, которая может решить эту проблему.

sudo apt-get install ruby1.9.1-full

Вы можете выполнить команду:

sudo update-alternatives --config ruby

выбрать альтернативный рубин, который вы установили. и затем выполните следующие команды, чтобы завершить развертывание octopress:

git clone https://github.com/erizhang/octopress.git octopress
cd octopress/
sudo gem install bundler
sudo gem install RedCloth -v '4.2.9'
bundle install
rake install

Ниже приведены команды, которые вы можете найти на странице руководства по развертыванию octopress:

rake setup_github_pages
sudo rake setup_github_pages
sudo rake generate
sudo rake deploy

Надеюсь, это полезно для вас, спасибо

Я исправил эту проблему, запустив

sudo apt-get install ruby-dev

как описано в этом сообщении в блоге.

Я тоже устанавливал Octopress и получил ту же проблему, что и у вас. После проверки mkmf.log Файл, который я выяснил, что gcc-4.2 не был найден. Я даже установил xcode с помощью инструментов командной строки. Это сработало, когда я сделал символическую ссылку примерно так:

$ sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.2
$ bundle install

Для Ubuntu 14.04 просто сделайте это:

sudo apt-get install ruby1.9.3

Должно работать на 13.10 и 13.04 тоже. (Не испытано)

Похоже, вы не используете rvm для управления вашей установкой ruby. Я думаю, что лучше всего попробовать rvm, вот очень хорошее руководство, вы можете остановиться, не устанавливая рельсы: ruby с rvm

Тогда просто

$gem install RedCloth

Неуправляемые рубиновые камни - это боль, я стараюсь их избегать.

Ни один из ответов не работал на моем Ubuntu 14.04.1 LTS. Обновление до ruby ​​2.0 исправило проблему для меня:

sudo apt-get install ruby2.0 ruby2.0-dev
sudo ln -s /usr/bin/ruby2.0 /usr/bin/ruby
sudo ln -s /usr/bin/gem2.0 /usr/bin/gem
sudo gem install bundler

Убедитесь, что у вас также есть build-essential пакет установлен. Вы можете проверить, используя

dpkg -l | grep build-essential

или просто установите его без проверки

sudo apt-get install build-essential

Для меня на Ubuntu 14.04.1 LTS, убедившись, build-essential установлен, bundle install Команда работает / строит также хорошо с Ruby 1.9.3.

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