Я только что установил на свой компьютер ocaml, opam и dune и попытался запустить новый проект, используя
$ dune init project calculator
$ cd calculator/
$ code .
который создает проект и открывает его в VS Code. Но когда я пытаюсь построить и запустить проект с помощью
dune exec bin/main.exe
или с помощью dune build
в терминале я получаю сообщение об ошибке:
File "dune-project", line 1, characters 11-15:
1 | (lang dune 3.14)
^^^^
Error: Version 3.14 of dune is not supported.
Supported versions:
- 1.0 to 1.12
- 2.0 to 2.9
Есть ли способ понизить версию Dune до 2.9?
Заранее спасибо!
Теперь я попытался обновить opam до новейшей версии с помощью:
opam update && opam upgrade
, но я получаю сообщение, что я уже установил новейшую версию 2.1.2-1.
Моя версия дюны: 2.9.1 Моя версия опама: 2.1.2.
Извините за это, я установил его в соответствии с документами, которые вы указали на моей Ubuntu-VM. Проблема в том, что документация на этом сайте предположительно уже не актуальна (см. Обсуждение 1 и Обсуждение 2).
Это похоже на противоречивую среду: вы создали свой проект с помощью dune 3.14
и пытаетесь собрать его с помощью dune 2.9.1
, что является гораздо более старой версией. Лучшим решением, вероятно, будет использование dune 3.14
и для создания вашего проекта, но да, вы можете просто изменить конфигурацию проекта, чтобы требовалась только дюна 2.9, отредактировав
(lang dune 3.14)
к
(lang dune 2.9)
Да, это правильно, меня это немного смутило, но я не знал, как справиться с этой проблемой. Судя по всему, одной из проблем была также проблема с сервером/репозиторием(?), содержащим обновления opam, поскольку сегодня я мог обновить свою дюну с помощью $ opam upgrade
, что было невозможно вчера. Однако большое спасибо!
Вы не говорите, КАК вы все это установили. Прочтите это: ocaml.org/docs/installing-ocaml и особенно проверьте свой «переключатель».