по-новой. Хотел бы поинтересоваться, есть ли какие-то актуальные материалы, как это можно сделать "по уму"?
Я вот помню, что в чате обсуждались варианты установки portable-версии, потом для контроля версий была какая-то штука, которая не просто окружение в папку проекта клонирует (не знаю, как это правильнее назвать), а создает файл с текущими версиями всего. Т.е. всегда можно узнать, какие пакеты использовались в проекте и какие у них были версии, чтобы можно было воспроизвести эту среду
Иными словами, есть ли какая-то инструкция или подход, как себе установить долгоиграющий R, чтобы не беспокоиться по поводу (пере)запуска старых скриптов?
Если важно: поскольку у меня проекты иногда долгоиграющие или требующие ad-hoc анализа в самый неожиданный момент, запускать один и тот же код может понадобиться как минимум через 2 года. К этому времени и машина может поменять, и у R куча новых версий выйдет. А сейчас я обновляюсь не чаще раза в год, чтобы код в неожиданных местах не ломался (data.table не предлагать! :)
Docker + renv + иногда бэкап + подвальчик с морозилкой
ну бэкапы понятно. Я всю жизнь на винде просидел и докеры только в на убунтовских VPS-ках поднимал. А, точняк, renv - спасибо.
dt до сих пор поддерживает чуть ли не первые релизы 3.x что-то у них было типа поддержки мажорных версий последних пяти лет, что ли
А вот что в Introduction to renv говорится It is important to emphasize that renv <...> is a tool that can help make projects reproducible by solving one small part of the problem: it records the version of R + R packages being used in a project, and provides tools for reinstalling the declared versions of those packages in a project. это разве не означает, что все пакеты будут в проектах установлены? (т.е. если у меня в год 10 проектов возникает, то они все будут тянуть за собой переустановку всех пакетов?) Я так представлял, что есть R версии 4.0, допустим. для этой версии есть директория с либами, в директории с либами есть папки всех версий всех пакетов (типа package1-v.1.0, package1-v.2.0, package2-v.1.1 и т.д.). И дальше уже renv или какая-то другая штука в проекте выбирает, какие версии пакетов нужно подключить из централизованного места. При обновлении R появляется новая директория типа R 4.2, процесс с установкой пакетов повторяется уже в отдельной директории для нового R. В идеальной ситуации при запуске проектного файла нужная версию R тоже как-то автоматически выбирается. Или это концептуально неверно?
https://packagemanager.rstudio.com/client/#/
Только сейчас смог почитать. Мне нравится подход, однако стоимость....
так можно их облачным пользоваться
Что-то похожее вроде репозиториев drat предлагает. я пока с ним не совсем разобрался, но выглядит интересно: если сделать свой личный репозиторий и при обновлении делать снэпшоты, то по сути можно соорудить что-то вроде мини-CRAN с более редкими датами. Выглядит сильно похоже на то, что нужно.
Обсуждают сегодня