Сбой публикации Opam из-за ошибки извлечения wget (404)

Проще говоря, у меня есть библиотека с модулем. Я могу без проблем установить его локально с помощью 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.7
  • dune: 2.7.1
  • git: гит версии 2.29.2
  • opam-publish: 2.0.2
  • gpatch: 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}
]

Вы создали задачу прямо на странице opam github?

Lhooq 21.12.2020 11:25

@Lhooq Кто-то, кого я знаю, сделал это, да. Там тоже ждут.

Gigi Bayte 2 21.12.2020 17:56
Почему в Python есть оператор &quot;pass&quot;?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
73
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ответ заключался в том, что репозиторий GitHub должен быть общедоступным, чтобы opam publish работал. Иди разберись.

Кроме того, автогенерация токена по какой-то причине не удалась, поэтому мне пришлось вручную сгенерировать его из https://github.com/settings/tokens и предоставить его.

Другие вопросы по теме