我安装了 Windows XP 和 Haskell Platform 2013。当我想在一台没有安装 Haskell 平台的计算机上编译我的代码,并且我不允许安装任何东西时,我可以将我的 Haskell 平台复制到 USB 闪存卡上,并在这台计算机上运行,它的工作只是美好的。
但有时我需要额外的包,这些包不是标准 Haskell 平台构建的一部分。
我可以使用 Cabal 将它简单地安装在我的个人计算机上,但我不知道如何安装它们以便它们可以便携工作,即从我的 USB 闪存卡而不是我的计算机。
我试过这个:
cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0"
这个安装包到 Haskell 平台目录中,但是当我在另一台计算机上运行 Haskell 平台时,它看不到它。
我想,我应该将配置文件安装在 Haskell Platform 目录中,但我不知道该怎么做。
请帮我解决这个问题。先感谢您!
非常感谢你,米哈伊尔·格鲁申科夫!现在一切正常。
为了方便像我这样的新手,寻找答案,我只描述指令,做什么,以获得相同的结果:
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”,即“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
.
结尾。
*更新*
我在本说明中发现了一些愚蠢的错误(在 3a 和 4 中)。现在修好了。
3a 不工作!