You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

NixOS 23.11下用Cabal安装mysql-simple提示缺失C库求助

解决NixOS 23.11下Cabal安装mysql-simple的依赖问题

临时快速解决:用nix-shell搭建环境

直接执行这条命令进入包含所有必需C库的shell环境:

nix-shell -p zstd openssl pcre ghc cabal-install

进入环境后再运行:

cabal run

持久化解决:为项目配置shell.nix

如果想每次进入项目目录自动加载依赖,在项目根目录新建shell.nix文件,写入以下内容:

{ pkgs ? import <nixpkgs> {} }:
pkgs.mkShell {
  buildInputs = [
    pkgs.zstd
    pkgs.openssl
    pkgs.pcre
    pkgs.ghc
    pkgs.cabal-install
  ];
}

之后每次进入项目目录,执行nix-shell就能进入配置好的环境,再运行cabal run即可。

另一种方式:启用Cabal的Nix集成

如果你的Cabal版本支持,在项目根目录的cabal.project文件中添加一行:

nix: True

这样Cabal会自动通过Nix拉取所需系统依赖,之后直接运行cabal run就行。

注意点

  • NixOS的系统库是隔离的,不能用普通发行版的包管理工具装依赖,必须通过Nix的方式引入。
  • openssl包已经包含报错里的ssl和crypto库,不用单独安装。
  • pcre对应缺失的pcre库,zstd对应缺失的zstd库。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 05:55:38