【发布时间】:2013-01-16 21:42:02
【问题描述】:
我在 Win7 上使用 HaskellPlatform-2012.4.0.0。它安装为便携式。路径通过 .bat 文件进行管理,因此 ghci 和 ghc 有效。
但是 cabal 将其安装在 C:\Users\name\AppData\Roaming\cabal\
为了规避我所做的:
cabal update
edit config file
delete all files except config
改变的路径:
remote-repo-cache: d:\h1\cabal\packages
world-file: d:\h1\cabal\world
build-summary: d:\h1\cabal\logs\build.log
它可以工作,但远非真正便携。
Cabal 配置是更大的问题。似乎它必须留在 C:\Users\name\AppData\Roaming\cabal 中,这根本不可移植。
第一次运行cabal update 说Config file path source is default config file.
问题:
1. 默认配置文件在哪里?
2.remote-repo-cache、world-file等路径可以是相对的吗?
3. 有没有办法设置默认的 cabal 路径,所以它永远不会去 C:\Users\name\AppData\Roaming\cabal
【问题讨论】:
-
貌似可以用
CABAL_CONFIGenv变量设置,见:github.com/haskell/cabal/commit/… -
令我惊讶的是
SET CABAL_CONFIG=%~dp0cabal\bin\config有效:) 重要的是要说 config 是文件名。配置文件中的路径仍然错误,但可以通过在 cabal 首次启动之前植入配置文件来修复。 -
我不是 100% 确定,但似乎配置中的路径需要是绝对的。相对路径在您启动 cabal install xxx 的当前目录中创建
Haskell\cabal文件夹:D 绝对路径\Haskell\cabal对于cabal update是可以的,但不适用于cabal install xxx只有纯绝对路径D:\Haskell\cabal有效。 p.s.将您的评论作为答案。它涵盖了问题 1 和 3。到目前为止,似乎对 q2 无能为力。 -
@Nathan Howell:现在任何时候都可以;)
标签: windows haskell path cabal haskell-platform