在Haskell平台上安装便携式软件包,在Windows上安装了Cabal

时间:2013-09-25 14:02:14

标签: windows haskell cabal haskell-platform cabal-install

我安装了Windows XP和Haskell Platform 2013。当我想在没有安装Haskell平台的计算机上编译我的代码时,我不允许安装任何东西,我可以在USB闪存卡上复制我的Haskell平台,并在这台计算机上运行,​​它只是工作细

但有时候我需要额外的软件包,这些软件包不属于标准的Haskell平台版本。

我可以简单地将它安装在我的个人电脑上,但是我不知道,如何以便携式工作的方式安装它们,我。即来自我在而不是我的计算机上的USB闪存卡。

我试过了:

cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0"

这个安装包进入Haskell平台目录,但是当我在另一台计算机上运行Haskell Platform时,它看不到它。

我认为,我应该将配置文件安装在Haskell Platform目录中,但我不知道如何操作。

请帮我解决这个问题。提前谢谢!



非常感谢,Mikhail Glushenkov!现在一切正常。

为方便像我这样的新手,寻找答案,我只是描述指示,做什么,有相同的结果:

0)在做任何事之前阅读说明/

1)卸载所有需要安装的附加软件包(具有依赖项):使用

取消注册此软件包
ghc-pkg unregister gnuplot

,然后从它存储的位置删除包文件。同时从“package.conf.d”文件夹中删除所有相关文件。要搜索它们,请使用

ghc-pkg list

2)跑步(也许没必要)

ghc-pkg recache

3)在haskell平台的所需目录中安装软件包。我在“C:\ Program”中做到了 Files \ Haskell Platform \ 2013.2.0.0 \ addlib“:

cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0\addlib" --global

4)在“package.conf.d”中更改与已安装软件包相关的每个新文件:替换“C:\ Program Files \ Haskell Platform \ 2013.2.0.0 \ addlib \ utility-ht-0.0.9 \ ghc- 7.6.3“就像那样:”$ topdir \ .. \ addlib \ utility-ht-0.0.9 \ ghc-7.6.3“,i。即“C:\ Program Files \ Haskell Platform \ 2013.2.0.0 \ addlib \” - > “$ TOPDIR \ .. \ addlib \”。

5)运行

ghc-pkg recache

3a)也许,这会更好,然后3(我没有测试过)。如果是这样,请不要执行3,4和5。

cabal install gnuplot --prefix "$topdir\..\addlib" --global

结束。

*的 UPD *

我在这些说明中发现了一些愚蠢的错误(在3a和4中)。现在修好了。

3a无效!

1 个答案:

答案 0 :(得分:3)

您需要将$GHCDIR\lib\package.conf.d\*.conf个文件中的绝对路径替换为引用$topdir的相对路径,然后运行ghc-pkg recache

看一下Haskell Platform's Windows installer does it

的方式