当我在macOS中使用apple silicon构建我的rust项目时,使用以下命令:
CARGO_HTTP_MULTIPLEXING=false cargo build
显示如下错误:
= note: ld: library not found for -lpq
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我试过安装
brew install libpq
brew link --force libpq
我还是没有修复这个问题,我应该怎么做来修复这个问题?是不是PostgreSQL库现在不支持Apple Sillicon(Apple M1 Pro)?这是我的项目依赖项:
[package]
name = "reddwarf_dict"
version = "0.1.0"
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rocket = { version = "0.5.0-rc.1", features = ["json"] }
serde = { version = "1.0.64", features = ["derive"] }
serde_json = "1.0.64"
# database
diesel = { version = "1.4.7", features = ["postgres"] }
dotenv = "0.15.0"
chrono = "0.4"
log = "0.4"
env_logger = "0.9.0"
config = "0.11"
rust_wheel = "0.1.0"
5条答案
按热度按时间sycxhyv71#
首先,我运行以下命令:
然后:
对我很有效。
macOS:大苏尔11.5
8zzbczxx2#
我在我的项目中使用Diesel ORM:https://github.com/EstebanBorai/estebanborai.com,这就是我如何设置支持Diesel的项目。
1.使用Homebrew安装
libpq
1.然后将库添加到PATH中
1.最后安装Diesel CLI
货物装运
这是我的
Cargo.toml
文件,用于版本参考:柴油CLI
这是Diesel CLI版本的输出
lmyy7pcs3#
我用以下公式求解:
后来
aiazj4mn4#
看起来路径在BigSur和/或Monterrey中被移动了。我通过显式指定库路径解决了这个问题。
IE在CLI中运行rustc:
您也可以在RUSTFLAGS环境变量中指定它,即:
然后运行:
或:
在您的示例中,您可以执行以下操作:
sycxhyv75#
我在运行我的货物构建时遇到了这个错误消息的问题:
我解决这个问题的方法是使用
brew
安装所需的postgres C库如果您像我一样使用
fish
,我还添加了如下链接:fish_add_path /opt/homebrew/opt/libpq/bin