Arch Linux执行diesel setup提示未启用postgres功能报错
问题场景
- 运行环境:Arch Linux,已完成PostgreSQL安装
- 执行命令:
diesel setup - 返回报错:
线程 'main' panicked at 'Database url
postgres://localhost:8080/diesel_demorequires thepostgresfeature but it's not enabled.'
报错位置:diesel_cli/src/database.rs:40:21
工具提示:配置RUST_BACKTRACE=1环境变量后重新运行命令,可展示完整回溯栈信息辅助排查。
报错原因
当前安装的diesel命令行工具没有编译PostgreSQL对应的适配模块。diesel_cli默认不会自动打包所有数据库的驱动支持,安装时必须手动指定要启用的数据库后端功能,否则连接对应类型的数据库时就会触发该报错。
解决步骤
- 先卸载现有不带postgres功能的diesel_cli:
- 若之前通过cargo安装,执行
cargo uninstall diesel_cli - 若之前通过pacman从Arch官方源安装,执行
sudo pacman -Rns diesel-cli
- 若之前通过cargo安装,执行
- 重新安装diesel_cli,指定启用postgres功能,执行命令:
cargo install diesel_cli --no-default-features --features postgres
如果还需要diesel同时支持SQLite、MySQL,可以在features参数后追加对应标识,用逗号分隔即可,例如
--features postgres,sqlite,mysql
- 等待编译安装完成后,重新执行
diesel setup即可正常运行。
如果后续排查其他问题需要查看完整错误栈,执行diesel相关命令前先运行export RUST_BACKTRACE=1开启回溯输出即可。
内容的提问来源于stack exchange,提问作者Joe Esser
相关产品推荐
相关产品推荐

