在Windows上,我想更改cabal
的默认每用户安装目录。 config
文件的相关部分是:
install-dirs user
prefix: C:\path\to\my\folder
-- bindir: $prefix\bin
-- libdir: $prefix
-- libsubdir: $abi\$libname
-- libexecdir: $prefix\$libname
-- datadir: $prefix
-- datasubdir: $abi\$pkgid
-- docdir: $datadir\doc\$abi\$pkgid
-- htmldir: $docdir\html
-- haddockdir: $htmldir
-- sysconfdir: $prefix\etc
什么是$abi
和$pkgid
?它们未在config
文件中定义。 cabal
是否有这些变量的默认值(哪些变量)?我如何/在哪里定义它们?
remote-repo-cache: C:\path\to\my\folder\packages
logs-dir: C:\path\to\my\folder\logs
world-file: C:\path\to\my\folder\world
build-summary: C:\path\to\my\folder\logs\build.log
答案 0 :(得分:1)
您可以参考here了解更多详情。
$abi
对应AbiVar
类型。
$pkgid
对应PkgIdVar
类型。
它们未在配置文件中定义。它们将在构建步骤中由Cabal生成,具体取决于您的体系结构等。您可以see this guide了解安装路径。
对于我的Linux系统,它们的值是:
$abi
是x86_64-linux-ghc-7.10.3
$pkgid
是指包名及其版本。示例:array-1.2.3.4
但是如果你想改变位置,我的建议就是改变prefix
路径,因为那是根安装文件夹。其他一切都与此有关。