配置cabal上传以使用本地hackage-server

时间:2014-09-14 16:14:48

标签: haskell cabal hackage

我在192.168.1.100:8080安装了本地hackage-server用于开发。在我开发并使用cabal sdist打包包之后,我必须在浏览器上前往192.168.1.100:8080并手动上传包。

这非常繁琐,尤其是在多个软件包正在处理等冲刺的情况下,我只想使用cabal upload

对于名为my-pacakge.tar.gz的程序包,运行cabal upload会导致:

Uploading dist/my-package-0.1.1.0.tar.gz...
Error: dist/my-package-0.1.1.0.tar.gz: 404 Not Found
Error: Page not found

Sorry, it's just not here.

我的cabal配置的修改部分如下所示:

...    
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo: my.hackage:http://192.168.1.100:8080/packages/archive
...

第二行优先考虑本地hackage over hackage.haskell for cabal install

如何设置cabal upload上传到本地hackage?

1 个答案:

答案 0 :(得分:0)

远程仓库应配置为

remote-repo: my-hackage:http://my-hackage.com:8080/

即。没有/packages/archive。额外的路径只能作为主服务器上的黑客来匹配旧式路径(pre-hackage 2.0)。

(c.f。https://github.com/haskell/hackage-server/issues/164