sqlite3-ruby install error di Ubuntu


257

Saya memiliki kesalahan berikut selama menginstal sqlite3-ruby:

Membangun ekstensi asli. Ini bisa memakan waktu cukup lama...
GALAT: Kesalahan menginstal sqlite3-ruby:
    GALAT: Gagal membangun ekstensi asli permata.

/usr/bin/ruby1.8 extconf.rb
memeriksa sqlite3.h ... no
sqlite3.h tidak ada. Coba 'port install sqlite3 + universal' atau 'yum install sqlite3-devel'
*** extconf.rb gagal ***
Tidak dapat membuat Makefile karena beberapa alasan, mungkin kurang
perpustakaan dan / atau header yang diperlukan. Periksa file mkmf.log untuk informasi lebih lanjut
detail. Anda mungkin memerlukan opsi konfigurasi.

Opsi konfigurasi yang disediakan:
    --dengan-opt-dir
    --without-opt-dir
    --dengan-opt-include
    --without-opt-include = $ {opt-dir} / include
    --dengan-opt-lib
    --without-opt-lib = $ {opt-dir} / lib
    --dengan-membuat-prog
    --without-make-prog
    --srcdir =.
    --curdir
    --ruby = / usr / bin / ruby1.8
    --dengan-sqlite3-dir
    --without-sqlite3-dir
    --dengan-sqlite3-include
    --without-sqlite3-include = $ {sqlite3-dir} / include
    --dengan-sqlite3-lib
    --without-sqlite3-lib = $ {sqlite3-dir} / lib


File-file Gem akan tetap diinstal di /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 untuk diperiksa.
Hasil masuk ke /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out

sqlite3.h terletak di / usr / include /

sudo gem install sqlite3-ruby --without-sqlite3-include = / usr / include

tidak bekerja

GALAT: Saat menjalankan permata ... (OptionParser :: InvalidOption)
    opsi tidak valid: --without-sqlite3-include = / usr / include

Ubuntu 10,04


masalah yang sama - ini tidak dijawab. sqlite3.h tidak ada dan semua paket di atas diinstal. ubunut 10.10
rrt

Cobalah untuk sudo apt-get install build-essential dan kemudian sudo gem install sqlite3-ruby
Dmitry

1
sejak itu berubah menjadi adil sqlite3, tidaksqlite3-ruby
kelloti

3
Bekerja untuk saya di ubuntu 12.04 seperti yang disarankan marshluca. sudo apt-get install libsqlite3-dev
panta

Jawaban:


585

Anda memerlukan header pengembangan SQLite3 untuk dikompilasi dengan ekstensi asli gem. Anda dapat menginstalnya dengan menjalankan (mungkin dengan sudo):

apt-get install libsqlite3-dev

26
Saya membutuhkan sudo apt-get install libsqlite3-dev. Terima kasih.
B Tujuh

6
Bekerja seperti pesona. Terima kasih.
frank.m

Terima kasih — ini jelas tidak akan jelas.
james_womack

15

Anda hanya perlu --di sana.

sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include

Itu menentukan bahwa opsi bukan untuk permata secara langsung, tetapi permata tertentu.



6

Jika Anda menjalankan di ubuntu, dan menggunakan RVM untuk ruby ​​on rails, silakan tambahkan PERTAMA:

sudo apt-get install libxslt-dev libxml2-dev

ATAU Anda dapat memeriksa dengan perintah ini:

Perintah ini akan mempersiapkan untuk Anda dua paket: sqllite3 dan libsqlite3-dev

sudo apt-get install sqlite3 libsqlite3-dev

-Sekarang, instal sqlite gem

 [sudo] gem install sqlite3-ruby

-Menggunakan Ubuntu tidak perlu sudo.

Semoga berhasil! Catatan: Saya menggunakan Ubuntu 10.10 dan berfungsi.



6

Ini cukup untuk membuatnya bekerja

sudo apt-get install libsqlite3-dev

Terima kasih untuk marshluca


4

Mencoba SEMUA solusi lain, tidak ada yang membantu.

Ternyata Anda juga membutuhkan paket dev untuk ruby ​​itu sendiri. Bagi saya, itu membantu

sudo apt-get install ruby-full

Ini memiliki banyak dependensi jahat sekalipun (seperti emacs, wtf?), Hanya

sudo apt-get install ruby1.8-dev

harus baik-baik saja. Setelah diinstal (dan Anda menginstal paket sqlite dan sqlite-dev)

sudo gem install sqlite3-ruby

bekerja seperti pesona.


1
bekerja untuk saya juga. sudo apt-get install ruby1.9.1-dev libsqlite3-dev
rajsite


1

Apakah masalah yang sama dan yang berikut ini berhasil untuk saya:

kompilasi sqlite3 sebagai pustaka statis, instal di suatu tempat di direktori home Anda dan kemudian berikan opsi itu untuk proses instal gem.

Buka halaman unduh dan ambil sumbernya. Versi terbaru saat ini adalah http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz

tar -xf pada file atau melakukan apa pun yang biasanya Anda lakukan untuk membuka kompresi; masukkan direktori

./configure --disable-shared --enable-static --prefix = / some / path / di / my / home

kompilasi, instal, dan ketika Anda menginstal permata ...

permata instal sqlite3-ruby - --with-sqlite3-dir = / some / path / in / my / home



1

Solusinya adalah menambahkan parameter yang --terpisah configuredari gemparameter.

dari pada

sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include

coba ini, semua dalam satu baris, pastikan untuk memasukkan --setelah gemparameter terakhir dan sebelum configureparameter:

sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include

Ini akan membantu Anda mengatasi kesalahan ini:

ERROR:  While executing gem ... (OptionParser::InvalidOption)
    invalid option: --without-sqlite3-include=/usr/include

Ini persis apa yang saya butuhkan - terima kasih banyak kepada submitter ini!
David Loy

0

Bukan --without-sqlite3-include=/usr/include, tapi --with-sqlite3-include=/usr/include.


Jika sqlite3.h benar-benar hilang dan tidak ada di / usr / sertakan seperti yang Anda katakan, maka Anda dapat menginstalnya dengan: sudo apt-get install libsqlite3-dev
Kurt

Saya sudah melakukan ini .. Itu tidak membantu. Saya telah menginstal sqlite3 dan libsqlite3.
Dmitry

0

Ini adalah masalah yang sama persis dengan yang saya alami beberapa minggu yang lalu. Saya menemukan bahwa saya perlu mengunduh header / pustaka terbaru dari Halaman Unduhan SQLite. Cobalah, semoga ini membantu!


0

Bagi saya masalahnya diselesaikan dengan mendapatkan mkmf, yang ada di ruby1.8-dev.

sudo apt-get install ruby1.8-dev

Terima kasih sudah diberi mental untuk yang satu itu.


0

Saya setuju dengan Danya Vershinin & EnotionZ .

Jika tidak bisa menggunakan apt-get:

  1. kompilasi & instal sqlite3 dari sumber dengan menentukan jalur "awalan" Anda sendiri. Informasi lebih lanjut dapat ditemukan di README.
  2. Kemudian melewati jalur ini ke installer sqlite3-ruby (jangan lupa "-").

0

Anda telah merusak versi RVM. Ubuntu melakukan sesuatu untuk RVM yang menghasilkan banyak kesalahan, satu-satunya cara aman untuk memperbaiki untuk saat ini adalah: sudo apt-get --purge hapus ruby-rvm sudo rm -rf / usr / share / ruby ​​..., jika itu tidak membantu kemudian restart komputer Anda. instal RVM: \ curl -L https://get.rvm.io | bash -s stable --ruby --autolibs = aktifkan --auto-dotfiles Jika Anda merasa perlu berpegangan tangan, lihat Instalasi Ruby di Ubuntu 12.04, yang memberikan penjelasan lebih jelas.


0

Lupakan semuanya dan lakukan ini,

Lari

yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install

Itu untuk rhel, jalankan sama untuk ubuntu.


0

Tidak ada solusi yang disebutkan di atas yang berfungsi untuk saya, bahkan setelah menginstal ruby2.5-devdan libsqlite3-dev. Kemudian coba gunakan PostgreSqlbukan sqlite. Itu bekerja dengan baik. Untuk menggunakan PostgreSqlalih-alih sqlite, gunakan perintah ini saat membuat railsproyek.

rails [_VERSION_] new project_name -d postgresql

Jika Anda ingin menggunakan MySqlmaka gunakan mysqlsebagai gantinya postgresql.

rails [_VERSION_] new project_name -d mysql

Anda bisa mencoba tanpa sqlite.

bundle install --without sqlite

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.