centos 7.9 下升级自带 sqlite3
<h2 id="问题">问题</h2><p>在 centos 7.9 上面运行 django 2.2 开发服务器时出现:</p>
<pre><code>django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).
</code></pre>
<p>原因时系统自带 sqlite3 版本太低,解决方法是下载源码编译升级就可以了。</p>
<h2 id="升级">升级</h2>
<p>安装依赖</p>
<pre><code>yum install -y wget tar gzip gcc make expect
</code></pre>
<pre><code># 版本列表:https://www.sqlite.org/chronology.html
# 下载源码
wget --no-check-certificate https://www.sqlite.org/src/tarball/sqlite-3.39.3.tar.gz
# 编译
tar zxvf sqlite-3.39.3.tar.gz
cd sqlite-3.39.3
export CFLAGS="-DSQLITE_ENABLE_FTS3 \
-DSQLITE_ENABLE_FTS3_PARENTHESIS \
-DSQLITE_ENABLE_FTS4 \
-DSQLITE_ENABLE_FTS5 \
-DSQLITE_ENABLE_JSON1 \
-DSQLITE_ENABLE_LOAD_EXTENSION \
-DSQLITE_ENABLE_RTREE \
-DSQLITE_ENABLE_STAT4 \
-DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
-DSQLITE_SOUNDEX \
-DSQLITE_TEMP_STORE=3 \
-DSQLITE_USE_URI \
-O2 \
-fPIC"
export PREFIX="/usr/local"
#LIBS="-lm" ./configure --disable-tcl --enable-shared --enable-tempstore=always --prefix="$PREFIX"
LIBS="-lm" ./configure --enable-shared --enable-tempstore=always --prefix="$PREFIX"
make && make install
# 替换系统低版本 sqlite3
mv /usr/bin/sqlite3/usr/bin/sqlite3_old
ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3
echo "/usr/local/lib" > /etc/ld.so.conf.d/sqlite3.conf
ldconfig
sqlite3 -version
</code></pre>
<ul>
<li>安装的 3.39.3,但是显示版本为:<code>3.40.0 2022-09-12 16:07:24 ...</code>,原因未知</li>
</ul>
<p>再次启动运行 django 2.2 开发服务器就 ok 了。</p><br><br>
来源:https://www.cnblogs.com/leffss/p/11555556.html
頁:
[1]