2011-02-19 37 views
7

Possible Duplicate:
sqlite3-ruby install error on UbuntuTôi không thể cài đặt đá quý sqlite3

Hey guys tôi sử dụng apt-get để cài đặt sqlite3 trong VPS của tôi được chạy Ubuntu 10, tôi có thể chạy sqlite3 với không có vấn đề. Nhưng khi tôi cố gắng sử dụng cài đặt gem sqlite3, tôi gặp lỗi này:

[email protected]:/# gem install sqlite3 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3: 
    ERROR: Failed to build gem native extension. 

     /usr/local/bin/ruby extconf.rb 
checking for sqlite3.h... no 
sqlite3.h is missing. Try 'port install sqlite3 +universal' 
or 'yum install sqlite3-devel' and check your shared library search path (the 
location where your sqlite3 shared library is located). 
*** 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/local/bin/ruby 
    --with-sqlite3-dir 
    --without-sqlite3-dir 
    --with-sqlite3-include 
    --without-sqlite3-include=${sqlite3-dir}/include 
    --with-sqlite3-lib 
    --without-sqlite3-lib=${sqlite3-dir}/lib 


Gem files will remain installed in /usr/local/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3 for inspection. 
Results logged to /usr/local/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.3/ext/sqlite3/gem_make.out 

Bạn có lời khuyên nào?

+0

Bạn nên cập nhật lên Ruby 1.9.2, bản sửa lỗi này có nhiều vấn đề. –

+0

ruby ​​là 1.9.2 rồi, tôi tự biên dịch nó – mko

Trả lời

19

Bạn cần phải đầu tiên cài đặt các tiêu đề phát triển sqlite để nó có thể biên dịch viên ngọc chống lại họ:

sudo apt-get install libsqlite3-dev 

Sau đó thử cài đặt các viên ngọc.

+0

Nó hoạt động! Tôi muốn biết tiêu đề phát triển là gì, nó dùng để làm gì? – mko

+0

Đá quý sqlite3 là phần mở rộng Ruby C, vì vậy nó phải được biên dịch. Vì nó cần bao gồm các tiêu đề thư viện sqlite3 trong trình biên dịch, nó cần gói đó. –

+0

Làm việc như một sự quyến rũ! Cám ơn! –

Các vấn đề liên quan