Mac下通过Cabal安装Text.Regex.Posix时链接器命令失败
解决Mac下Cabal安装regex包的clang链接错误
先补全Xcode命令行工具
- 终端运行
xcode-select --install,安装/更新Xcode命令行工具——旧版本经常会导致clang链接失败。 - 装完重启终端,再试安装命令,比如
cabal install regex-posix(替换成你需要的具体regex包名)
调整Cabal的构建参数
- 打开用户目录下的
~/.cabal/config文件(没有就新建),添加以下配置:
这是帮clang定位系统库和头文件,解决依赖找不到的问题。program-options: -optl=-L/usr/local/lib -optl=-I/usr/local/include
换用Stack工具(比Cabal更省心)
- 终端装Stack:
curl -sSL https://get.haskellstack.org/ | sh - 要么新建项目
stack new my-regex-demo,要么进入现有项目目录 - 在项目的
package.yaml或.cabal文件里加上你需要的regex包依赖(比如regex-base) - 运行
stack build,Stack会自动搞定环境和依赖,不容易出系统库冲突的问题
补装系统依赖库
- 部分regex包(比如regex-pcre)依赖PCRE库,用Homebrew装:
brew install pcre - 装完再跑Cabal命令,指定库路径:
cabal install regex-pcre --extra-lib-dirs=/usr/local/lib --extra-include-dirs=/usr/local/include
内容的提问来源于stack exchange,提问作者Lime Sapper
相关产品推荐
相关产品推荐

