You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

M1 Mac无需Rosetta安装ARM64版PostgreSQL以适配Diesel的问题咨询

解决ARM64 macOS上安装PostgreSQL配合Diesel的问题

你遇到的核心问题是现有PostgreSQL为x86_64架构,和你的ARM64进程环境不兼容,再加上Homebrew的架构路径未配置正确。下面是一步步的解决方案:

1. 安装ARM64架构的Homebrew

之前的报错提示需要在/opt/homebrew创建新的ARM版Homebrew安装,这是因为默认x86_64版Homebrew安装在/usr/local,而ARM64版需要独立部署在/opt/homebrew路径下。

先打开终端,通过arch命令验证当前环境为ARM64(输出应为arm64),然后执行以下命令安装ARM版Homebrew:

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

安装完成后,需要把ARM版Homebrew的路径加入环境变量:

  • 如果你用zsh,编辑~/.zshrc文件,添加一行:
    export PATH="/opt/homebrew/bin:$PATH"
    
  • 如果你用bash,编辑~/.bash_profile~/.bashrc,添加同样内容。

刷新环境变量让配置生效:

source ~/.zshrc  # zsh环境用这个,bash环境替换为source ~/.bash_profile

验证Homebrew安装是否成功:执行brew --prefix,输出应为/opt/homebrew

2. 安装ARM64版PostgreSQL

现在用ARM版Homebrew安装适配你环境的PostgreSQL:

brew install postgresql

安装完成后启动PostgreSQL服务:

brew services start postgresql

你可以验证安装的libpq架构是否正确:

file /opt/homebrew/opt/postgresql/lib/libpq.5.dylib

输出内容中会包含arm64字样,说明这是适配你ARM64环境的库文件。

3. 重新安装Diesel CLI(确保ARM64版本)

为了让Diesel链接到新的ARM版libpq库,需要重新安装Diesel CLI:

cargo install diesel_cli --no-default-features --features postgres

4. 再次执行Diesel Setup

现在运行diesel setup就能正常工作了,它会自动链接到/opt/homebrew下的ARM64版libpq库,不会再出现架构不匹配的错误。

补充说明

你之前使用的Postgres.app是x86_64版本,所以它的libpq.5.dylib架构和你的ARM64进程不兼容,这就是报错里"wrong architecture"的原因。用ARM版Homebrew安装的PostgreSQL会完全适配你的当前环境。

内容的提问来源于stack exchange,提问作者musako

火山引擎 最新活动