6

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

这非常乏味,尤其是在类似 sprint 的情况下,当多个包正在处理等时,我只想使用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 优先于 hackage.haskellcabal install

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

4

1 回答 1

0

远程仓库应配置为

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

即没有/packages/archive。额外路径仅作为主服​​务器上的 hack 以匹配旧式路径(pre-hackage 2.0)。

(参见https://github.com/haskell/hackage-server/issues/164

于 2018-03-17T00:07:53.643 回答