我对于使用 Haskell 还很陌生。我的教授让我们在课堂上使用它。
目前在 Mac 上工作。在浏览一些教程时,我发现我必须下载正则表达式包才能使其中一些教程工作。我尝试通过 cabal 下载软件包,但在尝试构建时不断收到错误:
clang: error: linker command failed with exit code 1
我还没有找到这个问题的任何可行的解决方案,因为我找到的解决方案依赖于安装 Haskell 平台,该平台似乎从去年开始就已经不存在了(链接到它的页面字面上告诉我离开并使用 GHC)。
我确实尝试按照这些说明重新下载 cabal,但是当我尝试安装正则表达式时,我得到了同样的错误。
我很茫然。
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 example
然后您可以在 Cabal 文件的 build-depends
部分中添加依赖项
,在本例中为
example.cabal
。在这里,您可以单独编写
regex
或包含版本约束,例如
regex >= 1.1.0.2
(我写这篇文章时最新的)。然后您应该能够使用
cabal build
构建项目并使用
cabal exec
运行它。