我使用 Ruby 语言进行轻量级编程。我注意到一些奇怪的事情。我使用 ruby gemsqlite3
与 sqlite db 进行交互。
我最近检查了我拥有的版本。
sqlite3 -version
给我
3.22.0 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt1
不一定是最新版本,但它在 sqlite 网站上列出。
gem list sqlite3
给我
sqlite3 (1.4.0, 1.3.13)
但 sqlite -version
给我
2.8.17
我尝试更新到sqlite --version 3.28.0
,
sudo apt upgrade sqlite
但这给了我:
sqlite is already the newest version (2.8.17-14fakesync1).
然后我转到 ubuntu 网站并阅读了这款软件的摘要。它是为 sqlite2 设计的。所以我的问题是它已将sqlite
其名称更改为sqlite3
。我没有看到任何关于此更改的提及?困惑。
答案1
当前 Sqlite 是 3.28 版本...
版本(2.x 与 3.x)可能存在不兼容性,因此可以共存一段时间。
- SQLite V3 于 2004 年出现。
- SQLite V2 (2.8.17) 的最后一个版本是在 2005 年 12 月发布的。这似乎是你的
sqlite
。不过,我会对任何仍在使用它的应用程序保持警惕 :) - SQLite V1 的寿命太短了,无法继续存在。
这完整故事。
所以:
sqlite -version
为您提供 SQLite V2 命令行的版本/发布版本以处理 SQLite V2 数据库,这也可能是您的 SQLite 库的版本。sqlite3 -version
对于 SQLite V3 命令/库来说是一样的。gem list sqlite3
为您提供 SQLite V3 的语言绑定版本,该版本独立于 SQLite V3 库的版本,并且假定绑定可以与您可能已安装的任何 SQLite V3 版本一起使用。