sqlite3
パッケージをUbuntuにインストールしましたが、readlineはサポートされていません。つまり、コマンド履歴はなく、readlineが提供する他の気の利いた機能があります。
これは構成またはパッケージの問題ですか?すぐにreadlineをサポートできる別のパッケージアーカイブがどこかにありますか?または、sqlline3をreadlineがサポートされていることを確認して自分でコンパイルするにはどうすればよいですか?
sqlite3
パッケージをUbuntuにインストールしましたが、readlineはサポートされていません。つまり、コマンド履歴はなく、readlineが提供する他の気の利いた機能があります。
これは構成またはパッケージの問題ですか?すぐにreadlineをサポートできる別のパッケージアーカイブがどこかにありますか?または、sqlline3をreadlineがサポートされていることを確認して自分でコンパイルするにはどうすればよいですか?
回答:
これはGoogleの「ubuntu sqlite3 readline」の最初のヒットであるため、別の答えを追加します:
Android SDKは、独自のバージョンのsqlite3
バイナリをインストールします。このバイナリはreadline
サポートを提供しません。Android SDKをパスに追加した場合、readline
サポートがないと思われるかもしれませんreadline
。実際、すべてのUbuntuパッケージはサポート付きでコンパイルされています。
同じ状況について説明しているこのUbuntu Bug Reportも参照してください。
which sqlite3
ます。
$ANDROID_HOME/Sdk/platform-tools
後に持っていましたが$PATH
、sqlite3をインストールしませんでした。そして、私はまったく同じ検索フレーズを使用してこのスレッドを見つけました。
まだインストールされていない場合は、libreadlineとlibncursesをインストールします。Ubuntu Linuxでは、以下のコマンドを実行してインストールします。
sudo apt install libreadline-dev libncurses-dev
以下のコマンドを実行してビルドします。
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
注:readline機能を使用するには、-DHAVE_READLINEと-lreadlineと-lncursesが必要です。
sqlite3バイナリを/ usr / binにコピーするか、パスに追加します。
sudo apt install libreadline-dev libncurses-dev
私はこれで自分のバイナリをコンパイルすることができました:
SQLiteダウンロードページから「autoconf」ソースファイルをダウンロードします。tarを解凍して解凍し、ソースディレクトリに移動します。
以下を使用してソースコードをコンパイルします。
./configure --enable-readline
make
RedHatで実行しているため、yum install readline-devel
事前に実行する必要がありました。これはマシンによって異なる場合があります。