Можно ли использовать opam для создания пакета из локального файла и его установки? - PullRequest
0 голосов
/ 28 января 2020

Я новичок в opam и пытаюсь понять, как правильно его использовать. Для класса я хочу настроить учеников в среде, в которой установлены некоторые пользовательские пакеты. (Пакет будет состоять из нескольких необработанных файлов .ml, которые я получил от коллеги из другой школы; файлы находятся на их github, но я не вижу ни одного файла .opam, и, насколько мне известно, их нет ни в одном официальный выпуск пакета.)

Могу ли я как-то назвать эти локальные файлы .ml пакетом и попросить opam установить его? Должны ли файлы быть в первую очередь на github, и если да, то могу ли я использовать существующий репозиторий моего коллеги в качестве источника? Я не хочу делать что-либо из этой публикации c, так как это не моя собственная работа; Я просто хочу настроить свою локальную среду так, чтобы код в файлах можно было легко включить в пакет. По сути, я не знаю, как лучше поступить, поэтому я рад любым советам.

1 Ответ

0 голосов
/ 28 января 2020

Вы можете добавить пользовательский файл opam в базовую директорию проекта. См. документацию о том, как создать этот файл.

Затем вы можете ввести opam pin add . в базовый каталог, и ваш проект будет установлен, как если бы это был пакет opam. Проверьте opam pin --help для получения дополнительной информации (вы также можете прикрепить к удаленному git проекту, например).

Обратите внимание, что хотя репозиторий по умолчанию размещен на github, это никоим образом не является требованием для работы с операцией. Опам зависит от git, но вы можете использовать его с закрытым хранилищем git. Если вы хотите использовать репозиторий вашего коллеги в качестве источника, это вполне выполнимо, хотя часто предпочтительнее иметь файл opam в root каталога (вы можете сделать PR в их репозитории или сделать свой собственный форк из него на github сайт дает понять, что вы скопировали код).

Если пиннинг вам не по вкусу, вы также можете создать свой собственный репозиторий, хотя это, вероятно, слишком тяжеловесно для ваших нужд.

Удачи!

...