安装特定版本的sqlite3

Installing a specific version of sqlite3

我有一个问题,我的 CI 版本的规格不合格,但它们在本地通过了。我在两者上都使用相同版本的 ruby,并且在两者上都安装了相同的 sqlite3 gem。

我能找到的唯一区别是 CI 服务器似乎使用 sqlite3 版本:

3.7.17

我的mac安装了sqlite3版本:3.25.1

失败的规范因 SQL 语法错误而失败:

ActiveRecord::StatementInvalid:  SQLite3::SQLException: near "WITH": syntax error: ;WITH included_items

我想在本地测试一下 - 看看是不是 Sqlite 版本的问题。我想以某种方式将我的本地 Mac 版本的 sqlite3 降级到与 CI 服务器相同的版本。

我尝试使用 brew,但它似乎找不到任何其他版本的公式。

$ brew install sqlite3@3.7.17
Error: No available formula with the name "sqlite3@3.7.17" 
==> Searching for a previously deleted formula (in the last month)...
Warning: homebrew/core is shallow clone. To get complete history run:
  git -C "$(brew --repo homebrew/core)" fetch --unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae...
Error: No similarly named formulae found.
==> Searching taps...
==> Searching taps on GitHub...
Error: No formulae found in taps.

知道怎么做吗?

来自 Formula/sqlite3.rb 的提交日志:

commit a9ad65c5f2fdc03aa47e4333fcd0df558136b099
Author: Jack Nagel <jacknagel@gmail.com>
Date:   Mon May 20 20:25:17 2013 -0500

    sqlite 3.7.17

所以基本思路是 运行:

$ COMMIT=a9ad65c5f2fdc03aa47e4333fcd0df558136b099
$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/$COMMIT/Formula/sqlite3.rb

有关详细信息,请参阅此要点: https://gist.github.com/demosten/bdbc4f07c2ddbea0b8f0ad50a98ae5ff