我安装了Windows XP和Haskell Platform 2013。 当我想在一些没有安装Haskell Platform的计算机上编译我的代码时,我不允许安装任何东西,我可以将我的Haskell平台复制到USB闪存卡上,然后在这台计算机上运行,精细。
但是有时我需要额外的包,而不是标准的Haskell Platform构build的一部分。
我可以简单地将它安装在我的个人电脑与Cabal,但我不知道,如何安装他们的方式,他们可以工作便携式,即从我的USB闪存卡不在我的电脑上。
我试过这个:
cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0"
这个安装到Haskell平台目录,但是当我在另一台计算机上运行Haskell平台,它不会看到它。
我想,我应该使configuration文件被安装在Haskell平台目录,但我不怎么做。
请帮我解决这个问题。 先谢谢你!
非常感谢Mikhail Glushenkov! 现在一切正常。
为了方便像我这样的新手寻找答案,我只是描述指令,做什么,得到相同的结果:
0)在做任何事之前阅读说明/
1)卸载所有额外的软件包,需要安装的可移植(具有依赖性):取消注册这个软件包
ghc-pkg unregister gnuplot
,然后从它存储的地方删除包文件。 同时删除“package.conf.d”文件夹中的所有相关文件。 要search它们,请使用
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(我没有testing它)。 如果是这样,不要做3,4和5。
cabal install gnuplot --prefix "$topdir\..\addlib" --global
。
结束。
* UPD *
我在这个指令中发现了一些愚蠢的错误(在3a和4中)。 现在修好了
3a不工作!
您需要用引用$topdir
相对路径替换$GHCDIR\lib\package.conf.d\*.conf
文件中的绝对路径,然后运行ghc-pkg recache
。
看看Haskell平台的Windows安装程序是如何做到的 。