2013-08-09 3 views
15

рубин 2.0.0p247 (2013-06-27 ревизия 41674) [x86_64-линукс]Установка драгоценных камней приводит к ошибке

камень 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 revision 35410) [x86_64-linux]».

+0

и вы читали журнал ошибок? – sevenseacat

ответ

23

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

В Debian/Ubuntu,

sudo apt-get install ruby1.9.1-dev.

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

sudo apt-get install build-essentials

до этого.

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

+0

Я использовал RVM. Обновлен вопрос. –

+2

Установка ruby1.9.1-dev исправила мою проблему. –

+1

Если я пытаюсь установить build-essentials, он не найден. Я только что нашел build-essential – androidevil

1

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

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

Не не стесняйтесь сообщить нам немного больше о вашей установке ruby2.0.

3

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

xcode-select --install

затем

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

+0

Отлично подходит для меня, он работает плавно – Alexiscanny

Смежные вопросы