Haskell - 安装 Text.Regex.Posix 时 Cabal 链接器命令失败

问题描述 投票:0回答:1

我对于使用 Haskell 还很陌生。我的教授让我们在课堂上使用它。

目前在 Mac 上工作。在浏览一些教程时,我发现我必须下载正则表达式包才能使其中一些教程工作。我尝试通过 cabal 下载软件包,但在尝试构建时不断收到错误:

clang: error: linker command failed with exit code 1

我还没有找到这个问题的任何可行的解决方案,因为我找到的解决方案依赖于安装 Haskell 平台,该平台似乎从去年开始就已经不存在了(链接到它的页面字面上告诉我离开并使用 GHC)。

我确实尝试按照这些说明重新下载 cabal,但是当我尝试安装正则表达式时,我得到了同样的错误。

我很茫然。

haskell ghc cabal
1个回答
0
投票
欢迎光临!

Homebrew 或 ghcup 都可以满足您的目的。通过“通过 cabal 下载软件包”,我推断您已经尝试过

cabal install regex

。不幸的是,这可能不是您所需要的——它的目的是使用 Cabal 构建和安装程序,而不是安装供程序使用的库。

您可以通过在文件顶部的标头中指定其依赖项并使用

cabal run运行单文件程序

#!/usr/bin/env cabal {- cabal: build-depends: base, regex -} import Text.RE main :: IO () main = putStrLn "example"
如果它保存在 

Example.hs

 中,那么您应该能够使用 
cabal run Example.hs
 运行它。

使用包的更常见工作流程是使用

cabal init 创建项目

cabal init example
然后您可以在 Cabal 文件的 

build-depends 部分中添加依赖项

,在本例中为 
example.cabal
。在这里,您可以单独编写 
regex
 或包含版本约束,例如 
regex >= 1.1.0.2
 (我写这篇文章时最新的)。然后您应该能够使用 
cabal build
 构建项目并使用 
cabal exec
 运行它。

© www.soinside.com 2019 - 2024. All rights reserved.