2009-01-07 14 views
54

SQLite gemini, Ruby 1.8.6, Rails 2.2.2, gem 1.3 ve sqlite-3.5.9 ile bir Fedora 9 Linux kutusuna kurmaya çalışıyorum. İşte Koşuyorum komutu var ve sonuçları:Neden SQLite gemini yükleyemiyorum?

sudo gem install sqlite3-ruby 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3-ruby: 
    ERROR: Failed to build gem native extension. 

/usr/bin/ruby extconf.rb install sqlite3-ruby 
can't find header files for ruby. 

Gem files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection. 
Results logged to /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out 

gem_make.out sadece zaten konsola gönderildi tekrarlar. Bu gemiyi nasıl kurabilirim?

+0

Bu hatayı da sürekli aldım !! – Perpetualcoder

+1

Hatadaki ipucu "ruby için başlık dosyalarını bulamıyor" ... yani ruby ​​için geliştirme paketine ihtiyaç duyacağınız anlamına geliyor. –

+0

@ salt.racer/HERHANGİ BİR TEHLİKE - hangi paketin (esas olarak) gerekli olduğunu gönderebilir misiniz? –

cevap

125

SQLite RubyGem aslında Yakut Gem değil, Bu derlenmiş ve bunu yüklediğinizde Yakut tercüman bağlantılı olan ve olması demektir o C yazılmış bir "C Gem", IOW var 'un numarasını yapabilmesi için Ruby yorumlayıcısının C başlık dosyalarına ihtiyacı vardır.

Ruby'yi kendiniz derlerseniz, bu başlık dosyaları otomatik olarak yüklenir, ancak RedHat-ish sistemlerinde, bu gibi üstbilgi dosyaları genellikle <whatever>-dev olarak adlandırılan ayrı bir pakette paketlenir. Bu durumda, ruby-dev paketini ve muhtemelen libsqlite3-dev (Ubuntu) veya sqlite-devel (Fedora) paketini de yüklemeniz gerekecektir. Bununla birlikte, İşletim Sisteminizin önceden paketlenmiş olan libsqlite3-ruby paketini kurmanızdan daha iyi olabilir, böylece tüm bağımlılıklar otomatik olarak karşılanır.

(Not: Tüm paket isimleri havadan çıkardı, sisteminizde farklı olabilir.)

+3

Damn SO havalı, bu aslında doğru cevap ... SqlLite'ı kurmaya çalışırken kayboldu ve sorun her dakika yeni hata mesajları üretiyordu. Şimdi, eğer soru sorarsa, bu soru doğru cevap olarak işaretlenirse biz de iş yapardık. –

+7

Ubuntu'da apt-get libsqlite3-ruby'yi kurdum ve mükemmel çalıştı. Kök olarak, elbette ... –

+3

Ya da gem kurmak istediyseniz, Jorg'un dediği gibi, ruby-dev kurulumunu almanız gerekiyor. – Shadowfirebird

1

sqlite3-ruby oluşturmak için gereken tüm kaynak kodunuz var mı? Gem bazı C kodunu derlemeye çalışıyor ve başlıkları bulamıyor. Eğer sqlite3-ruby için bir fedora rpm kullanabilirsiniz (eğer fedora kullanmıyorum, ama eminim var) derlemeyi tercih ediyorsanız. Şahsen yakut işi için, distro'nun ambalajlama sisteminden ziyade gem kullanmayı tercih ederim.

+0

mysql başlıkları için fedora rpm 'mysql-dev' gibi bir şeydir, bu nedenle doğru sqlite rpm 'sqlite3-dev' olması muhtemeldir – erik

+0

Şu an FreeBSD 7.1 kullanıyorum ve sqlite3-3.6.4 var Eğer hatırlıyorum eğer taş gerekli her şeyi sağlayan liman yüklü. Rails 2.2.2'yi kendim kontrol etmeye çalışıyorum. İyi şanslar Erik! – barneytron

0

Fedora'ya pek aşina değilim, ama Ubuntu'da paketleri kurduğunuzda apt-get'e sahip olacaksınız ve Ccc için gcc ve diğer derleme araçlarını içeren yapı temellerini yüklemeliyim. Sorununuz olabilir ve bunun, Fedora'da RPM veya apt-get kullanarak nasıl yüklenebileceğini incelersiniz.

+0

Fedora üzerinde yum, ama bu sorun değil. Bu libsqlite3-ruby sorunu var. –

11

Muhtemelen yakut dev paket lazım. Ubuntu için ruby ​​başlık dosyalarını içeren ruby1.8-dev'i yüklemeniz gerekir. Hızlı bir google yum paketinin ruby-devel olduğunu söylüyor. bu nedenle bu çalıştırın:

sudo yum ben 'gcc' işin garibi yükleyerek benim OLPC (Fedora 9) sorunu sabit yakut-devel

0

yükleyin. Bu dev paketlerden biri olmalıydı, ama hayır.

Ayrıca, diğer paketler ile ilgili olarak, eki, "-devel" değil "-dev", yani almak emin olun sağ biten olanlar: "yakut-devel", "sqlite-devel" ...

Yüklendikten sonra, çeşitli raylar komut dosyalarını çalıştırmayı denediğinizde, çok eski "< 1.3.1" ile ilgili hataları alırsanız, örneğin: script/server veya script/console, google "upgrade_rubygems" düzeltmek için sorun ...

HTH ...

5

sudo apt-get yakut-dev yüklemek

benim için düzeltildi.

8

benim fötr 13 kutuyu Sqlite3-yakut mücevher yüklerken sorunla karşı karşıya: Benim için anahtar, paket libsqlite-ruby1.9.1 oldu

... Ben de bu hata ile (referans için) benim deneyim belgelenmiş . O sudo yum Fedora OS için aşağıdaki sqlite-devel

2

Çalıştır yükledikten sonra giderilmiştir: "mücevher sqlite3 yüklemek" ve ardından "sudo yum sqlite-devel yükle"

yum install rubygem-sqlite3 
+0

Bu çalıştı ama sonra "sudo yum install sqlite-devel" – Saad

0

çalıştırın ve.

gem install sqlite3 -v '1.3.9' 
Building native extensions. This could take a while... 
ERROR: Error installing sqlite3: 
    ERROR: Failed to build gem native extension. 

için: Ben sorun yaşadığında

sudo apt-get install ruby-dev 
sudo apt-get install sqlite3-dev 

Sonra

gem install sqlite3 
3

benim Fedora üzerinde aynı problem vardı "libsqlite3-dev" ürününü yükleyerek çalıştım:

apt-get install libsqlite3-dev 
5

çalıştırın: 15. Ubuntu 9 ve 10 denemede

+0

Bu benim için sabit! +1 –

0

Alpin'de, sqlite-dev paketini yüklemeniz gerekir.