我有一个问题,我的CI构建中有失败的规范,但它们在本地传递。我在两者上都使用了相同版本的ruby,并且在两者上安装了相同的sqlite3gem。
我能找到的唯一区别是CI服务器似乎使用sqlite3版本:
3.7.17
我的mac在哪里安装了sqlite3版本:3.25.1
失败的规范失败,并出现SQL语法错误:
ActiveRecord::StatementInvalid: SQLite3::SQLException: near "WITH": syntax error: ;WITH included_items
我想在本地测试它,看看它是否是由于Sqlite版本引起的。我想以某种方式将sqlite3的本地Mac版本降级到与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