【问题标题】:how to properly install/ update haskell packages in mac osx如何在 mac osx 中正确安装/更新 haskell 包
【发布时间】:2013-01-19 10:24:54
【问题描述】:

我完全是 Haskell 的菜鸟,我正在尝试关注 a tutorial 如何将它用于网络。

我使用的是 Mac OSX,所以我从 http://www.haskell.org/platform/mac.html 下载了适用于 OSX 的 haskell 平台

然后我做了

cabal update

它告诉我有新版本的 cabal install 可用,为什么不呢 阴谋集团安装阴谋集团安装

它编译了 Cabal-1.16.0.3 版本并将其安装在我的 $HOME/Library/Haskell 中。 我将 $HOME/Library/Haskell/bin 添加到我的 $PATH 并打开一个新终端。

那我做 阴谋集团--版本

但版本是 1.14 我愿意 $HOME/库/Haskell/bin/cabal --version 我知道二进制文件正在使用库版本 1.14 如何让它使用新安装的版本而不是平台之一?

那我做 cabal 安装 cabal-dev

并获取要编译的新包的消息,但此消息还包括cabal:

The following packages are likely to be broken by the reinstalls:
network-2.3.1.0
haskell-platform-2012.4.0.0
cgi-3001.1.7.4
HTTP-4000.2.5

我不喜欢这听起来。

我之前尝试在另一台计算机上安装 yesod,但我记得遇到过同样的问题,最终 yesod 没有安装,这次我不想做任何会破坏任何事情的事情。

让 Yesod 或任何 haskell 包在 mac osx 上工作的正确方法是什么?

【问题讨论】:

  • 你试过 serverfault 吗?
  • 这更像是一个初学者程序员的问题,而不是服务器相关的问题
  • “我不喜欢这听起来。”你是个聪明人。来自 github 的 cabal-dev 版本应该可以正常编译。克隆 repo,cd 进去,然后cabal install

标签: haskell haskell-platform


【解决方案1】:

如何让它使用新安装的版本而不是平台之一?

正如 cabal 应该告诉你的,你只需将目录添加到 PATH 环境变量中。例如,如果你使用 bash 作为你的 shell,添加

export PATH=$HOME/Library/Haskell/bin:$PATH

到 $HOME/.bashrc 并重新启动你的 shell。

让 Yesod 或任何 haskell 包在 mac osx 上工作的正确方法是什么?

这个问题不是 OSX 特有的,而是阴谋集团特有的。答案是告诉 cabal all 你关心的已经安装的包。例如,您可以尝试

cabal install cabal-dev haskell-platform # or
cabal install cabal-dev async cgi fgl GLUT haskell-src html HTTP HUnit mtl network OpenGL parallel parsec QuickCheck random regex-base regex-compat regex-posix split stm syb text transformers vector xhtml zlib

或者,如果您只是想阻止某些包被重建,您可以使用installed 约束,如cabal install cabal-dev --constraint "haskell-platform installed"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-20
    • 1970-01-01
    相关资源
    最近更新 更多