Я установил sqlite3
пакет в Ubuntu, и поддержка readline отсутствует. Это означает, что нет истории команд, и эти отличные функции readline дает вам.
Это проблема конфигурации или упаковки? Есть ли где-нибудь другой архив пакетов, который бы дал мне поддержку readline из коробки? Или как собрать сам sqlite3, чтобы он поддерживал readline?
Я добавляю еще один ответ, потому что это первый хит " ubuntu sqlite3 readline " в Google:
Android SDK устанавливает свою собственную версию
sqlite3
бинарника. Этот двоичный файл не обеспечиваетreadline
поддержку. Если вы добавили Android SDK к своему пути, это может заставить вас думать, что у вас нетreadline
поддержки, фактически каждый пакет Ubuntu скомпилирован сreadline
поддержкой.Также смотрите этот отчет об ошибках Ubuntu, в котором описана та же ситуация.
источник
which sqlite3
.$ANDROID_HOME/Sdk/platform-tools
после$PATH
, но я просто не установил sqlite3. И я нашел эту тему, используя ту же фразу поиска.Если он еще не установлен, установите libreadline и libncurses. В Ubuntu Linux установите, выполнив следующую команду:
sudo apt установить libreadline-dev libncurses-dev
Запустите команду ниже, чтобы построить:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Примечание: вам нужны -DHAVE_READLINE и -lreadline и -lncurses, чтобы получить функциональность readline.
Скопируйте двоичный файл sqlite3 в / usr / bin или добавьте его по своему пути.
источник
sudo apt install libreadline-dev libncurses-dev
Мне удалось собрать свой собственный двоичный файл с этим:
Загрузите исходный файл «autoconf» со страницы загрузки SQLite . Разархивируйте и распакуйте tar, перейдите в исходный каталог.
Скомпилируйте исходный код с помощью:
Я работаю на RedHat, поэтому мне пришлось бежать
yum install readline-devel
заранее. Это может отличаться на вашей машине.источник