Добрый день. Веду разработку в следующем окружении: Ubuntu 11.10, Netbeans 7.0, Ruby 1.9.3, Rails 3.2.2 .
Имею проект, в нём веду соответствующий файл со списком нужных гемов. Проблема в том, что мне нужно подключить некоторые гемы, например, capybara (для тестирования) и pg (для доступа к PostgreSQL). После редактирования соответсвующим образом данного файла выполняю в консоли $ bundle install и появляется сообщение об ошибке характерного содержания для обоих случаев, что типа не может найти библиотеки некоторые. Я их скачал на уровне исходников, инсталил через make, ставил через apt-get, но проблема не решилась никак. В чём причина и как лечить? Вот фрагмент консольного вывода:
bash-4.2$ bundle install Fetching gem metadata from https://rubygems.org/........ Using rake (0.9.2.2) Using i18n (0.6.0) Using multi_json (1.1.0) ............................................................................. Using bcrypt-ruby (3.0.1) Using bootstrap-sass (2.0.0) Using bundler (1.1.1) Installing nokogiri (1.5.2) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/home/user/rubystack-3.2.1-0/ruby/bin/ruby extconf.rb extconf.rb:10: Use RbConfig instead of obsolete and deprecated Config. checking for libxml/parser.h... yes checking for libxslt/xslt.h... yes checking for libexslt/exslt.h... yes checking for iconv_open() in iconv.h... no checking for iconv_open() in -liconv... yes checking for xmlParseDoc() in -lxml2... no ----- libxml2 is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. ----- *** 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-iconvlib --with-xml2lib --without-xml2lib
Gem files will remain installed in /home/user/rubystack-3.2.1-0/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2 for inspection. Results logged to /home/user/rubystack-3.2.1-0/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.5.2/ext/nokogiri/gem_make.out An error occured while installing nokogiri (1.5.2), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.5.2'` succeeds before bundling.
sudo apt-get install iconv libxslt-dev libxml2-dev
Проблемы не решает? Посмотрю...
"Пакет Iconv недоступен, но упомянут в списке зависимостей другого пакета."
Может по этому не работать ещё.
http://tokarchuk.ru/2011/05/iconv-for-ruby-1-9-2/
Посмотрите тут, может поможет.
sudo yum install rubygems
sudo yum install libxml2-devel
sudo yum install ruby-devel
sudo gem install git-commit-notifier
>>>
Successfully installed nokogiri-1.4.4
Successfully installed premailer-1.7.1
Successfully installed git-commit-notifier-0.9.1
3 gems installed ...Для Ubuntu не подходит. Другое хранилище, другой менеджер пакетов. Rubygems уже имеется в составе 1.9 . К инсталляции предлагается версия для 1.8. Будут конфликты. На libxml2-devel и ruby-devel вообще ругается, что нет такого, а вот libxml2 говорит имеется...
А репозитории сторонние подключать нужно. Стандартные они не самые свежи весёровно.
_devel действительно не бывает, пакеты для разработчиков помечаются как _dev.
Я даже не знаю, что ещё посоветовать, может версии пакетов не подходят, и он их найти не может. В вашему логу видно, что он их просит.
$ sudo apt-get install ruby-dev также пробовал, говорит, что будет ставить версию 1.8, я так понимаю, что речь идёт о руби? Вот фрагмент вывода:
bash-4.2$ sudo apt-get install ruby-dev
[sudo] password for user:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
ruby1.8 ruby1.8-dev
Suggested packages:
ruby1.8-examples ri1.8
The following NEW packages will be installed:
ruby-dev ruby1.8 ruby1.8-dev
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 667 kB of archives.
After this operation, 2,482 kB of additional disk space will be used.
Do you want to continue [Y/n]?