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

qc6wkl3g  于 2024-01-08  发布在  其他
关注(0)|答案(1)|浏览(108)

我刚开始使用Haskell。我的教授让我们在课堂上使用它。
目前在Mac上工作。在浏览一些教程时,我发现我必须下载regex包才能让其中一些工作。我试过通过cabal下载该包,但当它试图构建时,我总是得到一个错误:

clang: error: linker command failed with exit code 1

字符串
我还没能找到任何解决这个问题的有效方法,因为我找到的方法都依赖于安装Haskell平台,该平台似乎在去年就已经失效了(链接到它的页面实际上告诉我离开并使用GHC)。
我确实尝试在these instructions之后重新下载cabal,但是当我尝试安装regex时,我得到了同样的错误。
我很茫然。

fdbelqdn

fdbelqdn1#

欢迎光临!
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运行它。

相关问题