今天我学会了 cabal 怎么用

发布于 2022-08-10 03:01:59 字数 1329 浏览 11 评论 9

发信人: flw (没有“昵”称), 信区: FuncProgram
标  题: 今天俺学会了 cabal 怎么用。
发信站: 水木社区 (Thu Mar  5 21:26:20 2009), 站内

以前都是上 Hackage 找模块,手工下载,然后用:

    runhaskell Setup configure
    runhaskell Setup build
    sudo runhaskell Setup install

觉得挺不方便的,经常看到网页上提到 cabal 这个包管理工具,
但是一直都不知道怎么用,windows 上和 debian 上都没有这个命令,
但是看 GHC 的文档里面,确实是有 Cabal 这个模块的,
一直都搞不太明白,也没认真去搞。

今天花了点时间了解了一下 http://www.haskell.org/cabal/
原来真的很方便啊!

原来 cabal 命令需要到
http://www.haskell.org/cabal/download.html
单独下载才行(搞不懂为什么不包含到标准的 GHC 发布里去)
windows 上的话,下载
http://www.haskell.org/cabal/rel ... all-0.6.2/cabal.exe
就可以了,然后:

更新 package list
cabal update

查看 package list
cabal list | less

安装 package(以 wxHaskell 为例):
cabal list | grep wx
cabal install wx
(会自动处理依赖关系)
(不太爽的一点是 install 的 package name
和 import 的 Module.Name 经常不一样,这点不如 CPAN)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

被翻牌 2022-08-21 06:52:03

to flw,你确实是坏人,你觉得不爽应该下大力气解决这个问题,并附带着在这个帖子里写上办法,恩恩!!

笛声青案梦长安 2022-08-21 06:49:50

之所以修改路径确实是觉得不爽,尤其是win下

引用自带的模块没问题,因为这个例子不光是用了ArrayRef一模块

前事休说 2022-08-21 06:45:14


看来我比楼主要聪明一些。
我看到这个现象以后,也有点不爽,不过我犹豫了一下,没改。

玩物 2022-08-21 06:29:24

原帖由 ihere 于 2009-3-12 11:14 发表
ubuntu下不用修改,那是不是同理win下编译到C:program fileshaskell也不用修改???

关键是,你为什么要修改?

编译报错的信息是:
compilation IS NOT required
test2.o: In function `sEh_info':
(.text+0x8b9): undefined reference to `__stginit_ArrayRefzm0zi1zi3_DataziRef_'
collect2: ld 返回 1

我在代码里引用了:
import Data.Ref

引用你安装在自己主目录下的其他模块有问题么?是不是把这个模块装到系统目录下就没有问题了呢?

[ 本帖最后由 MMMIX 于 2009-3-12 12:10 编辑 ]

挽容 2022-08-21 06:28:58

也谢谢大法师

独孤求败 2022-08-20 02:50:35

编译命令行就是:

ghc -o test test.hs

怪我鬧 2022-08-19 23:04:04

ubuntu下不用修改,那是不是同理win下编译到C:program fileshaskell也不用修改???

编译报错的信息是:
compilation IS NOT required
test2.o: In function `sEh_info':
(.text+0x8b9): undefined reference to `__stginit_ArrayRefzm0zi1zi3_DataziRef_'
collect2: ld 返回 1

我在代码里引用了:
import Data.Ref

枯叶蝶 2022-08-10 10:31:42

原帖由 ihere 于 2009-3-12 10:01 发表

ubuntu下是安装到了当前用户的.cabal下了,请问怎么修改呢??还是不用修改呢??

干嘛要修改?

Ubuntu下我装了个ArrayRef的模块,但是import之后编译出错了!!

怎么编译的?出的什么错?

沒落の蓅哖 2022-08-10 10:06:30

cabal 将模块安装到了哪里??win下是安装到了c:program fileshaskell,我觉得应该安装到ghc的目录下吧,我已经改了cabal的config文件了,将4个地方都改了!!

ubuntu下是安装到了当前用户的.cabal下了,请问怎么修改呢??还是不用修改呢??

Ubuntu下我装了个ArrayRef的模块,但是import之后编译出错了!!

先谢谢flw

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文