Ваш общий подход не будет работать: tar.gz
файлы содержат исходный код пакета, но не все из них устанавливаются при установке пакета, поэтому вы не можете воссоздать файл tar.gz
из установленных файлов. .
Что может сработать, если вы не хотите работать с такой древней версией R, это использовать «машину времени» Microsoft CRAN (https://mran.microsoft.com/timemachine),, но я думаю, что это восходит только к R 3.2.3.
Копирование библиотеки может работать, но двоичные файлы этих файлов, вероятно, связаны с файлами системной библиотеки в определенных местах, поэтому я бы не стал доверять ее надежности.
Я думаю, что вашим лучшим вариантом было бы обновить R до текущего выпуска (или, возможно, 3.5.3, последнего выпуска патча предыдущей серии), а затем просто установить текущие версии пакетов, которые вы хотите.
Если это невозможно по какой-то причине, то у вас, скорее всего, не будет выбора, кроме как установить версии, соответствующие тем, которые вы установили. По крайней мере, вы можете найти версии автоматически: функция installed.packages()
возвращает матрицу с именем пакета в столбце "Package"
и его версию в столбце "Version"
. Запустите это на старой системе, затем скомпилируйте их на новой системе, используя функцию remotes::install_version()
(которая утверждает, что работает на R до 3.0.0, но я уверен, что в последнее время она там не тестировалась).