Ich hatte das sqlite3
Paket auf Ubuntu installiert und es gibt keine Unterstützung für readline. Das heißt, es gibt keinen Befehlsverlauf und die anderen nützlichen Funktionen, die Readline bietet.
Handelt es sich um eine Konfiguration oder ein Verpackungsproblem? Gibt es irgendwo ein anderes Paketarchiv, das mir sofort Readline-Unterstützung bietet? Oder wie kompiliere ich sqlite3 selbst, um sicherzustellen, dass es Readline-Unterstützung bietet?
Ich füge eine weitere Antwort hinzu, da dies der erste Treffer für " Ubuntu SQLite3 Readline " auf Google ist:
Das Android SDK installiert eine eigene Version der
sqlite3
Binärdatei. Diese Binärdatei bietet keinereadline
Unterstützung. Wenn Sie das Android SDK zu Ihrem Pfad hinzugefügt haben, könnte dies den Eindruck erwecken, dass Sie keinenreadline
Support haben. Tatsächlich wird jedes Ubuntu-Paket mitreadline
Support kompiliert .Siehe auch diesen Ubuntu Bug Report, der die gleiche Situation beschreibt.
quelle
which sqlite3
.$ANDROID_HOME/Sdk/platform-tools
nach$PATH
, aber ich habe installieren einfach nicht sqlite3. Und ich fand diesen Thread mit genau dem gleichen Suchbegriff.Falls noch nicht installiert, installieren Sie libreadline und libncurses. Installieren Sie unter Ubuntu Linux, indem Sie den folgenden Befehl ausführen:
sudo apt installiere libreadline-dev libncurses-dev
Führen Sie den folgenden Befehl aus, um zu erstellen:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Hinweis: Sie benötigen -DHAVE_READLINE und -lreadline und -lncurses, um die Readline-Funktionalität zu erhalten.
Kopieren Sie die sqlite3-Binärdatei nach / usr / bin oder fügen Sie sie Ihrem Pfad hinzu.
quelle
sudo apt install libreadline-dev libncurses-dev
Ich habe es geschafft, meine eigene Binärdatei zu kompilieren:
Laden Sie die "autoconf" -Quelldatei von der SQLite-Download-Seite herunter . Entpacken und extrahieren Sie den Teer, wechseln Sie in das Quellverzeichnis.
Kompilieren Sie den Quellcode mit:
Ich laufe auf RedHat, also musste ich vorher laufen
yum install readline-devel
. Dies kann auf Ihrem Computer anders sein.quelle