Saya punya sqlite3
paket diinstal pada Ubuntu dan tidak ada dukungan untuk readline. Itu berarti tidak ada riwayat perintah dan fitur-fitur bagus lainnya readline memberi Anda.
Apakah ini konfigurasi atau masalah pengemasan? Apakah ada arsip paket berbeda di suatu tempat yang akan memberi saya dukungan readline di luar kotak? Atau yang lain, bagaimana cara saya mengkompilasi sqlite3 sendiri memastikan memiliki dukungan readline?
rlwrap -a -N -c -i sqlite3
agar ini bekerja. superuser.com/a/999132/512500Saya menambahkan jawaban lain karena ini adalah hit pertama untuk " ubuntu sqlite3 readline "di google:
Android SDK menginstal versinya sendiri
sqlite3
biner. Biner ini tidak menyediakanreadline
mendukung. Jika Anda menambahkan Android SDK ke jalur Anda, ini mungkin membuat Anda berpikir Anda tidak memilikinyareadline
dukungan, pada kenyataannya setiap paket Ubuntu dikompilasi denganreadline
mendukung.Lihat juga ini Laporan Bug Ubuntu yang menggambarkan situasi yang sama.
sumber
which sqlite3
.$ANDROID_HOME/Sdk/platform-tools
setelah$PATH
, tapi saya tidak menginstal sqlite3. Dan saya menemukan utas ini menggunakan frasa pencarian yang persis sama.Jika belum diinstal, instal libreadline dan libncurses. Di Ubuntu Linux, instal dengan menjalankan perintah di bawah ini:
sudo apt install libreadline-dev libncurses-dev
Jalankan perintah di bawah ini untuk membangun:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Catatan: Anda perlu -DHAVE_READLINE dan -lreadline dan -lncurses untuk mendapatkan fungsionalitas readline.
Salin biner sqlite3 ke / usr / bin atau tambahkan ke path Anda.
sumber
sudo apt install libreadline-dev libncurses-dev
Saya berhasil mengkompilasi biner saya sendiri dengan ini:
Unduh file sumber "autoconf" dari Halaman Unduhan SQLite . Buka zip dan ekstrak tar, ubah ke direktori sumber.
Kompilasi kode sumber dengan:
Saya menggunakan RedHat, jadi saya harus berlari
yum install readline-devel
sebelumnya. Ini mungkin berbeda pada mesin Anda.sumber
--enable-readline
tidak bekerja untuk saya di Ubuntu 18.04 LTS. Satu-satunya hal yang berhasil adalahrlwrap -a -N -c -i sqlite3
.