我在192.168.1.100:8080
上安装了用于开发的本地hackage服务器。开发完成并使用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.
我的阴谋配置的修改部分如下所示:
...
remote-repo: hackage.haskell.org:http://hackage.haskell.org/packages/archive
remote-repo: my.hackage:http://192.168.1.100:8080/packages/archive
...
第二行针对
cabal install
将本地黑客优先于hackage.haskell我应该如何设置
cabal upload
以上传到本地黑客? 最佳答案
远程仓库应配置为remote-repo: my-hackage:http://my-hackage.com:8080/
即没有/packages/archive
。额外路径仅在主服务器上用作黑客,以匹配旧式路径(hackage 2.0之前的版本)。
(参见https://github.com/haskell/hackage-server/issues/164)