【发布时间】:2019-07-11 10:36:39
【问题描述】:
官方教程Haskell in 5 steps中,导入库的例子:
import Control.Parallel
然后我用ghc编译:
ghc parallel.hs -o parallel -O2 --make -threaded -rtsopts
就像教程告诉我的那样。 (我的文件名是parallel.hs)但是我得到了:
parallel.hs:1:1: error:
Could not find module ‘Control.Parallel’
Use -v to see a list of the files searched for.
|
1 | import Control.Parallel
| ^^^^^^^^^^^^^^^^^^^^^^^
然后我stackoverflow找到了this question。所以我:
cabal new-install parallel --lib
得到:
Resolving dependencies...
Up to date
然后我再次编译它,但得到了同样的错误。 如何解决这个问题?我错过了任何命令行参数吗?
嗯,cabal install parallel之后,库导入,程序编译成功,按预期运行。
install 和 new-install 之间的区别我会参考 cabal 的文档
【问题讨论】:
-
如果你在详细模式下运行它会怎样?所以
-v?然后它应该显示它搜索过的包列表。 -
不确定有什么区别,但我通常运行
cabal install而不使用new-。刚刚试了,效果很好? -
如果你现在学习和使用
stack,你可以为自己避免一些未来的伤害。 -
目前的现状有点奇怪。我们现在可以使用
cabal install、cabal new-install和stack install安装东西。然后,我们可能会在系统范围内、用户本地或一些更本地的沙箱中安装一个包。它很容易变得混乱。我现在倾向于使用stack来做所有事情,因为社区似乎正在慢慢朝着这个方向发展。不过,它可能更简单。 -
@chi 计划实际上只有两个选项:
cabal new-install(然后将其简称为cabal install)和stack install。没有沙盒或任何东西。
标签: haskell