Ошибка установки чашки Gem в Linux Mint
У меня проблемы с установкой cups 0.1.10
драгоценный камень. При беге bundle install
в папке моего проекта процесс прерывается из-за следующей ошибки:
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
current directory: /tmp/bundler20170801-5492-c0toxgcups-0.1.10/gems/cups-0.1.10/ext
/usr/bin/ruby2.3 -r ./siteconf20170801-5492-1frgnir.rb extconf.rb
checking for main() in -lcups... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers. Check the mkmf.log file for more details. You may
need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/bin/$(RUBY_BASE_NAME)2.3
--with-cupslib
--without-cupslib
Couldn't find CUPS libraries on your system. Check they're installed and in your path.
To see why this extension failed to compile, please check the mkmf.log which can be found here:
/tmp/bundler20170801-5492-c0toxgcups-0.1.10/extensions/x86_64-linux/2.3.0/cups-0.1.10/mkmf.log
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20170801-5492-c0toxgcups-0.1.10/gems/cups-0.1.10 for inspection.
Results logged to /tmp/bundler20170801-5492-c0toxgcups-0.1.10/extensions/x86_64-linux/2.3.0/cups-0.1.10/gem_make.out
An error occurred while installing cups (0.1.10), and Bundler cannot continue.
Make sure that `gem install cups -v '0.1.10'` succeeds before bundling.
Я клонировал репозиторий на OS X Sierra 10.12.6, и у меня вообще нет проблем. Я пытался использовать rvm
установить и использовать ту же версию ruby, установленную на OS X, но все равно не повезло.
Системная версия Ruby для Linux Mint: ruby2.3.1pp112
и я также установил ruby-dev
с помощью sudo apt-get install ruby2.3-dev
, как я читал во многих местах, это подходящее решение проблемы, но это не помогло.
1 ответ
Сообщение об ошибке:
Couldn't find CUPS libraries on your system. Check they're installed and in your path.
Установите библиотеки CUPS и повторите попытку bundle install
:
sudo apt-get install libcups2-dev
sudo apt-get install libcupsimage2-dev
Это общая схема в Ruby при установке гемов; если он должен скомпилировать собственное расширение, опирающееся на стороннюю библиотеку, то сначала необходимо установить стороннюю библиотеку. Другие драгоценные камни, такие как mysql2
, pg
, а также nokogiri
будет иметь одинаковое поведение и потребует установки соответствующей библиотеки.