Установка драгоценных камней приводит к ошибке

ruby ​​2.0.0p247 (версия для печати 2013-06-27 41674) [x86_64-linux]

gem 2.0.3

sudo gem install travis
Building native extensions.  This could take a while...
ERROR:  Error installing travis:
        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:4:in `<main>'


Gem files will remain installed in /var/lib/gems/1.9.1/gems/ffi-1.9.0 for inspection.
Results logged to /var/lib/gems/1.9.1/gems/ffi-1.9.0/ext/ffi_c/gem_make.out

Также сталкивается с этим при попытке установить другие драгоценные камни. Я не пользователь Ruby, и ошибка в googling не принесла мне никакого рабочего решения.

Я установил Ruby 2.0 с помощью RVM: "curl -L https://get.rvm.io | bash -s stable --ruby".

Если я делаю "sudo ruby ​​-v", я получаю "ruby 1.9.3p194 (исправление 2012-04-20 версия 35410) [x86_64-linux]".

Ответ 1

Похоже, вы используете Ruby 1.9.1, установленную через систему. Чтобы исправить эту ошибку, вы должны установить пакет ruby-dev.

В Debian/Ubuntu,

sudo apt-get install ruby1.9.1-dev.

Поскольку gem использует собственные расширения, вы также должны сделать

sudo apt-get install build-essentials

до этого.

Однако я бы настоятельно рекомендовал использовать RVM и использовать RVM ruby, так как он тянет все большинство зависимостей dev для вашей системы, и у вас часто не возникают проблемы с внутренним расширением.

Ответ 2

На Mac (El Capitan) мне пришлось:

xcode-select --install

затем

sudo gem install -n /usr/local/bin travis

Ответ 4

Во-первых, я не знаю, как вы установили Ruby2.0, но ошибка показывает, что вы все еще используете 1.9.1. Вероятно, вы должны называть "gem", используя полный путь к тому, где вы установили Ruby2.0.

Кроме того, gem отказывается устанавливать компонент, потому что ему нужно скомпилировать собственный код: вам понадобятся заголовки Ruby (пакет ruby-dev), но также, возможно, make, gcc,...

Не стесняйтесь рассказывать нам немного о вашей установке ruby2.0.