Проще говоря, у меня есть библиотека с модулем. Я могу без проблем установить его локально с помощью opam install . в локальной версии репозитория GitHub и использовать его без проблем.
Следуя инструкциям здесь, я создал соответствующий .opam файл, протестировал его с помощью opam install . и попытался использовать с помощью dune, пометил и отправил архив.
Однако, когда я пытаюсь запустить opam publish, я получаю следующую ошибку:
[ERROR] Uncaught exception: OpamDownload.Download_fail(_, "Download command failed: \"/usr/local/bin/wget --content-disposition -t 3 -O
/private/var/folders/zj/jsz2c_2x4blgtf_b14lfwl3r0000gn/T/opam-29567-5a61c5/archives/790f017e8273931983fa69cb4a5b6951-1.0.tar.gz.part https://github.com/[redacted]/[packageName]/archive/1.0.tar.gz -U opam/2.0.7\" exited with code 8
\"2020-12-18 01:52:47 ERROR 404: Not Found.\"")
Вот версии различных потенциально связанных пакетов:
wget
: GNU Wget 1.20.3 построен на основе darwin18.7.0.opam
: 2.0.7dune
: 2.7.1git
: гит версии 2.29.2opam-publish
: 2.0.2gpatch
: 2.7.6Вот как обычно выглядит мой файл .opam с некоторыми необходимыми исправлениями:
opam-version: "2.0"
name: "example"
version: "1.0"
synopsis: "This is essentially what my .opam file looks like but with the text redacted"
description: """
packageExample is a framework that is used for the sole purpose of being an example. It
does not actually do anything, and it in fact does not even really exist. All that
references this framework is this example representation of it in this .opam file.
"""
maintainer: "[Redacted] <[redacted@gmail.com]>"
authors: "[Redacted] <[redacted]@gmail.com>"
homepage: "https://github.com/[redacted]/example"
dev-repo: "git+https://github.com/[redacted]/example.git"
bug-reports: "https://github.com/[redacted]/example/issues"
doc: "[redacted]"
depends: [
"ocaml" {>= "4.08.1"}
"dune" {>= "2.7.1"}
"base-bytes"
"base-unix"
]
build: [
["dune" "build" "-p" name "-j" jobs]
["dune" "runtest" "-p" name "-j" jobs] {with-test}
["dune" "build" "@doc" "-p" name "-j" jobs] {with-doc}
]
@Lhooq Кто-то, кого я знаю, сделал это, да. Там тоже ждут.
Ответ заключался в том, что репозиторий GitHub должен быть общедоступным, чтобы opam publish работал. Иди разберись.
Кроме того, автогенерация токена по какой-то причине не удалась, поэтому мне пришлось вручную сгенерировать его из https://github.com/settings/tokens и предоставить его.
Вы создали задачу прямо на странице opam github?