2013-04-18 19 views
10

tôi nhận ra rằng đây là một câu hỏi trùng lặp tuy nhiên tất cả các câu trả lời khác tôi đã tìm thấy liên quan đến vấn đề này đã không có vẻ để giúp tôi ...libxslt là mất tích trong khi cài đặt đá quý ruby ​​nokogiri

Tôi đang cài đặt GitLab và chạy qua phụ thuộc đá quý khi nó chạm vào yêu cầu NokoGiri đá quý và không thành công với các thông tin sau:

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. 
----- 

Vì vậy, lỗi này dẫn tôi xuống con đường cố gắng cài đặt libxslt với lệnh sau đây:

$ 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. 

Vì vậy, điều gì mang lại? NokoGiri đang cần gói này, nhưng gói đã được cài đặt rồi !! Tôi dường như không thể vượt qua vấn đề này, có sự giúp đỡ nào không?

Trả lời

11

Thử Nokogiri 1.6.0.rc1, bao gồm libxml2 và libxslt trong đá quý. Điều này sẽ giải quyết vấn đề cài đặt của bạn:

gem install nokogiri --pre 

nên thực hiện thủ thuật.

+1

Còn đá quý phụ thuộc vào nokogiri 1.5.x thì sao? – sethetter

+0

aws-sdk (~> 1,24.0) ruby ​​tùy thuộc vào nokogiri (< 1.6.0, > = 1.4.4) ruby. :(đây giống như lần thứ ba tôi trải qua cùng một vấn đề này. Thông thường quy trình giải quyết của tôi có nghĩa là cố gắng rất nhiều thứ cho đến khi một công trình. – amenadiel

34

trước tiên hãy chắc chắn rằng bạn có tất cả các phụ thuộc, như đã đề cập trong "Installing Nokogiri with RVM on Ubuntu" (mà đề cập đến thông báo lỗi rất giống nhau)

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 

Xét "Fresh install of RVM in Ubuntu isn't letting me install gems (zlib error) ", vì bạn có libxslt1-dev (và không phải là libxslt-dev), bạn có thể xem xét biên dịch lại ruby ​​của bạn.
(giống như trong "How to get Readline support in IRB using RVM on Ubuntu 11.10")

+0

trang github Nokogiri tài liệu tham khảo không còn điều này, nhưng khi thiết lập một môi trường dev cho một dự án cũ. Tuy nhiên, câu trả lời của bạn chính xác là những gì tôi cần. – Jason

+0

@Jason Cảm ơn bạn. Tôi đã khôi phục liên kết đầu tiên. – VonC

8

Hãy thử cài đặt phụ thuộc

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

Nếu bạn muốn cài đặt một phiên bản trước của nokogiri, lắp đặt Nokogiri 1.6.0.rc1 sẽ không làm các trick.

Bạn phải cài đặt libxslt separetly:

sudo apt-get install libxslt-dev libxml2-dev

Sau khi chạy mà lại lệnh của bạn: (trong trường hợp của tôi)

gem install nokogiri -v '1.5.11'

6

Có lẽ đây sẽ rất hữu ích cho những người khác: Nếu bạn nhận lỗi:

 

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

bạn cần phải cài đặt cũng là phiên bản devel của libxslt apt-get install libxslt-dev hoặc trong CentOS

yum install libxslt-devel