Ошибка при установке nio4r

#ruby-on-rails #ruby #rubygems #bundler

#ruby-on-rails #ruby #rubygems #пакет

Вопрос:

Помогите мне, пожалуйста. Я пытаюсь установить gem nio4r, но у меня ошибка с этими журналами:

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

    current directory: /var/lib/gems/2.3.0/gems/nio4r-1.2.1/ext/nio4r
/usr/bin/ruby2.3 -r ./siteconf20161020-13985-1c6zxok.rb extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h

extconf failed, exit code 1

Gem files will remain installed in /var/lib/gems/2.3.0/gems/nio4r-1.2.1 for inspection.
Results logged to /var/lib/gems/2.3.0/extensions/x86_64-linux/2.3.0/nio4r-1.2.1/gem_make.out
  

У меня ubuntu 16.04, ruby 2.3.0, rails 5.0.0.1.

(с некоторыми другими драгоценными камнями у меня аналогичная ошибка (gem bcrypt))

Что я должен сделать, чтобы исправить эту ошибку? Спасибо!

Комментарии:

1. Вам не хватает инструментов разработки. Установите ruby-dev и сделайте с помощью apt get: sudo apt-get установит ruby-dev и sudo apt-get установит make. Если это все еще не удается, вам нужно будет установить инструменты разработки для компиляторов по отдельности. Если вы используете Mac, установите xcode и инструменты командной строки.

2. @Sam, спасибо за совет. У меня был установлен xcode, но мне пришлось его обновить.

Ответ №1:

Сначала попробуйте установить build essentials:

 sudo apt-get install build-essential patch
  

и если все еще не работает, попробуйте установить ruby-dev:

 sudo apt-get install ruby-dev zlib1g-dev liblzma-dev
  

с уважением

Комментарии:

1. приведенный ниже метод помогает мне

Ответ №2:

Я нахожусь на Mac, и я исправил это, введя следующий код

 xcode-select --install
gem install rails
  

Ответ №3:

Основной причиной этого сообщения об ошибке для меня было то, что Xcode обновился, и я еще не принял новое лицензионное соглашение, поэтому (по какой-то причине) он ограничил доступ к CLT (инструменты командной строки — это то, что устанавливает xcode-select --install команда).).

Если у вас уже установлен CLT, возможно, вам потребуется выполнить следующие действия, чтобы заставить их работать:

 sudo xcodebuild -license accept
  

Это то, что устранило мою проблему; я надеюсь, что это поможет кому-то еще.

Ответ №4:

Версия 2.1.0 работает с

sudo apt-get install libgmp3-dev