fuz*_*fuz 3 haskell configuration-files cabal
我安装了带有前缀的自定义Haskell工具链$HOME/usr,因此编译器存在于$HOME/usr/bin/ghc文档中$HOME/usr/share/doc/ghc/....工具链包括ghc安装,cabal安装和您需要的所有库.我$PATH在某种程度上建立了所有这些程序.我的系统上没有其他这些工具的安装.
现在我尝试安装其他一些库.但是,当cabal尝试安装文档时,我总是遇到同样的错误:
~$ cabal install --global binary Resolving dependencies... Configuring binary-0.5.0.2... Preprocessing library binary-0.5.0.2... Building binary-0.5.0.2... ... snip ... Registering binary-0.5.0.2... cabal: /usr/local/share/doc: permission denied
如何告诉cabal文档应该存在的位置?我不想在shell中一次又一次地提供这些信息,所以最好是配置文件.我希望在我的主页树中包含所有与haskell相关的东西,以避免用错误的命令破坏我的系统.
你为什么用"--global"安装?默认情况下,这会将所有内容放在/ usr/local /中.如果您执行标准的每用户安装,则文档将安装到您的主目录中,它应该可以正常工作.
话虽这么说,这可以通过文件进行配置.cabal配置文件通常位于~/.cabal/config/.这是我的相关部分:
install-dirs global
-- prefix: /usr/local
-- bindir: $prefix/bin
-- libdir: $prefix/lib
-- libsubdir: $pkgid/$compiler
-- libexecdir: $prefix/libexec
-- datadir: $prefix/share
-- datasubdir: $pkgid
-- docdir: $datadir/doc/$pkgid
-- htmldir: $docdir/html
-- haddockdir: $htmldir
Run Code Online (Sandbox Code Playgroud)
您可以进行任何您喜欢的更改,只需确保取消注释.还有一个"install-dirs用户"部分,用于每个用户的安装.