【问题标题】:Haskell Platform + Cabal hell + packages location?Haskell 平台 + 阴谋集团地狱 + 包裹位置?
【发布时间】:2013-09-16 09:49:40
【问题描述】:

我最近按照这些步骤在 CentOS 6.4 上安装 Haskell

  1. wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2 && tar -xf ghc-7.6.3-x86_64-unknown-linux.tar.bz2 && cd ghc-7.6.3 && ./configure && make install && cd ..
  2. yum install freeglut-devel mesa-libGLU-devel mesa-libGL-devel
  3. wget http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz && tar -xf haskell-platform-2013.2.0.0.tar.gz && cd haskell-platform-2013.2.0.0 && ./configure && make && make install

请注意我没有介绍任何花哨的标志。结果是以下软件包位于 /usr/local/lib

async-2.0.1.4
attoparsec-0.10.4.0
case-insensitive-1.0.0.1
cgi-3001.1.7.5
fgl-5.4.2.4
GLURaw-1.3.0.0
GLUT-2.4.0.0
hashable-1.1.2.5
haskell-src-1.0.1.5
html-1.0.1.2
HTTP-4000.2.8
HUnit-1.2.5.2
mtl-2.1.2
network-2.4.1.2
OpenGL-2.8.0.0
OpenGLRaw-1.3.0.0
parallel-3.2.0.3
parsec-3.1.3
primitive-0.5.0.1
QuickCheck-2.6
random-1.0.1.1
regex-base-0.93.2
regex-compat-0.95.1
regex-posix-0.95.2
split-0.2.2
stm-2.4.2
syb-0.4.0
text-0.11.3.1
transformers-0.3.0.0
unordered-containers-0.2.3.0
vector-0.10.0.1
xhtml-3000.2.1
zlib-0.5.4.1

以下位于/usr/local/lib/ghc-7.6.3下:

array-0.4.0.1
base-4.6.0.1
bin-package-db-0.0.0.0
binary-0.5.1.1
bytestring-0.10.0.2
Cabal-1.16.0
containers-0.5.0.0
deepseq-1.3.0.1
directory-1.2.0.1
filepath-1.3.0.1
ghc-7.6.3
ghc-prim-0.3.0.0
haskell2010-1.1.1.0
haskell98-2.0.0.2
hoopl-3.9.0.0
hpc-0.6.0.0
integer-gmp-0.5.0.0
old-locale-1.0.0.5
old-time-1.1.0.1
pretty-1.1.1.0
process-1.1.0.2
template-haskell-2.8.0.0
time-1.4.0.1
unix-2.6.0.1

我将自己定义为 cabal-noob,之前,当我为每个用户安装 haskell 时,我曾经在进入 cabal 地狱时删除整个 .cabal 文件夹。这个巫术包分发让我有点害怕,因为我觉得我无法像以前那样轻松地修复一个阴谋集团的地狱

  1. 为什么这些软件包安装在这些位置?
  2. 如何删除整个 cabal 软件包以重新安装?
  3. 哪些安装选项允许我将所有 cabal 包放在一个文件夹中?
  4. (不是本教程)学习解决阴谋集团地狱会更好吗?我听说过 ghc-pkg

【问题讨论】:

    标签: haskell centos configure cabal cabal-install


    【解决方案1】:

    为什么这些软件包安装在这些位置?

    /usr/local/lib/ghc-7.6.3 包含 ghc 附带的库。 /usr/local/lib 包含来自“haskell 平台”的库

    如何删除整个 cabal 包以重新安装?

    使用 ghc-pkg 取消注册 /usr/local/lib 中的库。最好不要使用库 /usr/local/lib/ghc-7.6.3

    哪些安装选项允许我将所有 cabal 包放在一个文件夹中?

    AFAIK 没有这样的选项

    (不是教程的目的)学习解决阴谋集团会更好吗?我听说过 ghc-pkg

    在 cabal 中引入新的约束求解器后,cabal 地狱对我来说几乎消失了。上一个 cabal-install 版本引入了沙箱,并且其他改进即将到来。我希望阴谋集团的地狱在不久的将来完全消失。 有时需要手动解决依赖冲突,例如使用ghc-pkg取消注册一些包。

    当我进入阴谋集团地狱时,我曾经删除整个 .cabal 文件夹

    您应该删除~/.ghc/ 子文件夹而不是~/.cabal。这是 ghc 存储包 db 的地方。使用新的 cabal 沙箱,您只需删除沙箱本身 (cabal sandbox delete)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-04
      相关资源
      最近更新 更多