【发布时间】:2013-09-25 14:02:13
【问题描述】:
我安装了 Windows XP 和 Haskell Platform 2013。当我想在一台没有安装 Haskell 平台的计算机上编译我的代码,并且我不允许安装任何东西时,我可以将我的 Haskell 平台复制到 USB 闪存卡上,并在这台计算机上运行,它的工作只是很好。
但有时我需要额外的包,这些包不是标准 Haskell 平台构建的一部分。
我可以使用 Cabal 将其简单地安装在我的个人计算机上,但我不知道如何安装它们以便它们可以便携工作,即。 e.从我在不是我的计算机上的 USB 闪存卡。
我试过了:
cabal install gnuplot --prefix "C:\Program Files\Haskell Platform\2013.2.0.0"
这个安装包到 Haskell 平台目录,但是当我在另一台计算机上运行 Haskell 平台时,它看不到它。
我想,我应该将配置文件安装在 Haskell Platform 目录中,但我不知道该怎么做。
请帮我解决这个问题。提前谢谢!
非常感谢 Mikhail Glushenkov! 现在一切正常。
为了方便像我这样的新手,寻找答案,我只描述指令,做什么,得到相同的结果:
0) 在做任何事情之前阅读说明/
1) 卸载所有需要安装可移植(带有依赖项)的附加包:取消注册此包
ghc-pkg unregister gnuplot
,然后从它存储的位置删除包文件。同时从“package.conf.d”文件夹中删除所有相关文件。要搜索它们,请使用
ghc-pkg list
.
2) 运行(也许没必要)
ghc-pkg recache
.
3) 在 haskell 平台的所需目录中安装包。我在“C:\Program 文件\Haskell 平台\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. e. "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 不工作!
【问题讨论】:
-
我从来没有在 Windows 上安装过 Haskell,所以也许这只是我不明白的东西,但我没有得到前缀位。您提供的前缀不在您的 USB 驱动器上,为什么您希望在另一台计算机上看到它?
-
@AndrewMyers,我将库安装在 Haskell 平台文件夹中,并将 Haskell 平台文件夹移动到我的 USB 闪存卡中,因此,实际上,该库位于另一台计算机上。问题是让 Haskell 平台在另一台计算机上看到它。我不知道该怎么做,这就是我问这个问题的原因。
标签: windows haskell cabal haskell-platform cabal-install