haskell - 配置 cabal 上传以与本地 hackage-server 一起使用

标签 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 优先于 hackage.haskell 进行 cabal install

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

最佳答案

远程存储库应配置为

远程仓库:my-hackage:http://my-hackage.com:8080/

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

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

关于haskell - 配置 cabal 上传以与本地 hackage-server 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835294/

相关文章:

haskell - 生成 ByteString(或任何具有 ForeignPtr 组件的对象)的函数的纯度

haskell - 将多态函数应用于两种不同类型的输入

haskell - 如何在 Haskell 中搜索库版本?

haskell - 在 Archlinux 上设置 Haskell 的建议方法是什么?

haskell - 为什么 Haddock 文档没有出现在 Hackage 上?

haskell - 如何向 Cabal 包添加变更日志?

haskell - 将此 FreeT(显式递归数据类型)函数转换为适用于 FT(教堂编码)

haskell - 在简单的 http get 示例中找不到模块 `Network.HTTP'

haskell - Hackage 有 API 吗?

list - (>>) 是否应该丢弃所有左侧输出?