自制软件(错误:sqliteodbc:没有可用的瓶子!)

yk9xbfzb  于 2022-11-15  发布在  SQLite
关注(0)|答案(1)|浏览(194)

我正在尝试使用终端命令sqliteodbc安装ODBC SQLite驱动程序。我用的是Macbook Pro,搭载的是Apple M1和MacOS蒙特雷。我试着卸载并重新安装自制软件。
运行该命令后,我收到以下错误:

Error: sqliteodbc: no bottle available!
You can try to install from source with:
  brew install --build-from-source sqliteodbc
Please note building from source is unsupported. You will encounter build
failures with some formulae. If you experience any issues please create pull
requests instead of asking for help on Homebrew's GitHub, Twitter or any other
official channels.
ru9i0ody

ru9i0ody1#

该错误告诉您没有ARM 64瓶子(也就是预编译二进制文件)用于sqliteodbc
您可以尝试使用以下命令自己编译它:

brew install --build-from-source sqliteodbc

但您将获得一个错误:

checking build system type... configure: error: /bin/sh ./config.sub -apple-darwin21.6.0 failed

要在arm64 MacOS上构建sqliteodbc,需要做一些工作。
您可以做的是使用Rosetta2(从x86_64到arm64的动态二进制翻译器)。安装时请执行以下操作:

/usr/sbin/softwareupdate --install-rosetta --agree-to-license

然后,您可以使用以下命令安装x86_64版本的HomeBREW:

arch -x86_64 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

使用以下命令在.zshc中创建别名:

echo 'alias brew86="arch -x86_64 /usr/local/homebrew/bin/brew"' >> ~/.zshrc

请注意,x86_64-Homebrew和arm64-Homebrew安装在不同的位置:

% brew --prefix
/opt/homebrew

% brew86 --prefix
/usr/local/homebrew

您可以使用以下命令安装x86_64版本的sqliteodbc:

brew86 install sqliteodbc

现在,您已经安装了x86_64版的sqliteodbc:

% brew86 info sqliteodbc
==> sqliteodbc: stable 0.9998 (bottled)
ODBC driver for SQLite
https://ch-werner.homepage.t-online.de/sqliteodbc/
/usr/local/homebrew/Cellar/sqliteodbc/0.9998 (24 files, 704.2KB) *

您可以使用文件实用程序检查它是否真的是x86_64:

% file /usr/local/homebrew/Cellar/sqliteodbc/0.9998/lib/libsqlite3odbc-0.9998.dylib
/usr/local/homebrew/Cellar/sqliteodbc/0.9998/lib/libsqlite3odbc-0.9998.dylib: Mach-O 64-bit dynamically linked shared library x86_64

请注意以下环境变量的影响:HOME BREW_PREFIX、HOME BREW_CELAR、HOME BREW_REPORATE、PATH、MANPATH和INFOPATH。可以使用eval "$(brew shellenv)"eval "$(brew86 shellenv)"导出正确的值。

相关问题