如何将库添加到 Stack 项目? (Haskell)

How do I add a library to a Stack project? (Haskell)

我知道这个问题可能已被问过一千次,但我目前正在学习 Haskell,并且正在制作一个 运行dom 数字生成器/猜谜游戏。我让所有终端输入和输出正常工作,并开始尝试计算 运行dom 数字生成,但我无法计算出来。首先,我尝试将 运行dom 库添加到 .cabal 文件,每当我 运行 堆栈构建时,它都会从文件中删除它。然后,我尝试将其放入 stack.yaml 文件中。删除锁定文件并将其放在那里后,编译没有错误。因此,我尝试像在其他地方看到的那样使用 import System.Random 导入它,但它没有用。我试着在 Github 回购上提问,但没有人回答我的问题。

您的目录中是否有 package.yaml 文件? Stack 每次运行时都会(重新)从中生成您的 .cabal 文件。所以:

  • 仅当库不在 Stackage 上或您想要其他版本时才在 stack.yaml 中添加依赖项。
  • package.yaml中添加依赖。