
Я использую sqlite для легкого программирования здесь и там на языке Ruby. Я заметил нечто странное. Я использую ruby gem sqlite3
для взаимодействия с 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
with
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 года. Похоже, это ваш
sqlite
. Хотя я бы с осторожностью относился к любым приложениям, которые все еще его используют :) - SQLite V1 просуществовал слишком недолго.
Так:
sqlite -version
предоставляет вам версию/выпуск командной строки SQLite V2 для работы с базами данных SQLite V2, которая, скорее всего, также является версией вашей библиотеки SQLite.sqlite3 -version
то же самое для команды/библиотеки SQLite V3.gem list sqlite3
предоставляет вам версию языковой привязки для SQLite V3, которая имеет независимую от выпусков библиотеки SQLite V3 версию, при этом предполагается, что привязка работает с любым выпуском SQLite V3, который вы могли установить.