2013-04-18 6 views
10

Я понимаю, что это дубликат вопрос однако все другие ответы, которые я нашел, связанные с этим вопросом, не казалось, чтобы помочь мне ...LibXSLT отсутствует при установке рубинового камня nokogiri

Я устанавливаю GitLab и проходит через зависимости гема, когда она попадет требование о NokoGiri драгоценных камнях и не со следующей информацией:

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

/usr/local/bin/ruby extconf.rb 
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config. 
extconf.rb:10:in `<main>': Use RbConfig instead of obsolete and deprecated Config. 
extconf.rb:11:in `<main>': 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... yes 
checking for xmlParseDoc()... -lxml2 
checking for xsltParseStylesheetDoc()... -lxslt 
----- 
libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. 
----- 

Таким образом, эта ошибка приводит меня путь попытки установить libxslt с помощью следующей команды:

$ sudo apt-get install libxslt-dev 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev' 
libxslt1-dev is already the newest version. 
0 upgraded, 0 newly installed, 0 to remove and 146 not upgraded. 

Так что же дает? NokoGiri нуждается в этом пакете, но пакет уже установлен! Кажется, я не могу пройти мимо этой проблемы, никакой помощи там?

ответ

11

Попробуйте Nokogiri 1.6.0.rc1, который котрый сводит libxml2 и LibXSLT в камень. Это должно решить вашу проблему установки:

gem install nokogiri --pre 

должен сделать трюк.

+1

Как насчет драгоценного камня, который зависит от nokogiri 1.5.x? – sethetter

+0

aws-sdk (~> 1.24.0) ruby ​​зависит от nokogiri (< 1.6.0, > = 1.4.4) рубин. :(Это похоже на третий раз, когда я перехожу к этой же проблеме. Обычно моя решающая процедура означает попытку многого, пока не будет работать. – amenadiel

34

сначала убедитесь, что у вас есть все зависимости, как указано в "Installing Nokogiri with RVM on Ubuntu" (в которой упоминается тот же сообщение об ошибке)

I have no idea why it can't find the package "libxslt". Instead of worrying about that, I'm going to install the dependencies listed on Nokogiri GitHub page :

$ sudo apt-get install libxslt-dev libxml2-dev 
Reading package lists... Done 
Building dependency tree  
Reading state information... Done 
Note, selecting 'libxslt1-dev' instead of 'libxslt-dev' 
libxslt1-dev is already the newest version. 
libxml2-dev is already the newest version. 

That appears to have worked well enough, so I press on. The next step is install the actual Nokogiri gem. The instructions say to use "sudo gem install nokogiri", but because I'm using RVM, I drop the "sudo" part:

$ gem install nokogiri 

Учитывая "Fresh install of RVM in Ubuntu isn't letting me install gems (zlib error) », так как у вас есть libxslt1-dev (а не libxslt-dev), вы можете рассмотреть перекомпилировать ваш рубин.
(немного как в "How to get Readline support in IRB using RVM on Ubuntu 11.10")

+0

странице GitHub Nokogiri больше не ссылки на это, но при настройке среды разработки для старого проекта. Однако ваш ответ был именно тем, что мне нужно. – Jason

+0

@ Джейсон Спасибо. Я восстановил первую ссылку. – VonC

8

Попробуйте установить зависимости

sudo apt-get install libxslt-dev libxml2-dev 
0

Если вы хотите установить предыдущую версию nokogiri, установка Nokogiri 1.6.0.rc1 не будет делать трюк.

Вы должны установить libxslt separetly:

sudo apt-get install libxslt-dev libxml2-dev

После этого снова запустите вашу команду: (в моем случае)

gem install nokogiri -v '1.5.11'

6

Может быть, это будет полезно для других людей: Если вы получение ошибки:

 

libxslt is missing. please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies. 
 

вам необходимо установить также версию Devel из LibXSLT apt-get install libxslt-dev или в CentOS

yum install libxslt-devel

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