Зависимости пакетов при установке из исходного кода в R


Просто подтверждаю: если я распространяю свой пакет R как ZIP / TAR, то установка пакета не будет автоматически загружать / устанавливать зависимости, потому что я должен установить repos = NULL в install.packages(), а параметр dependencies не используется, если repos = NULL? Возможно, чтобы это сработало, нужно упаковать сценарий установки. Разве это возможно? Может быть, я полностью упустил что-то здесь, и есть механизм для установки из исходного кода и автоматической загрузки и установки зависимостей?

4 16

4 ответа:

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

Пакет devtools имеет функцию install. Если он используется в каталоге, содержащем исходный код пакета R, он установит этот пакет и загрузит все зависимости из CRAN.

Вы можете использовать

  devtools::install_local(path)

Он может автоматически загружать все зависимости.

Если у вас есть GitHub учетная запись myname, переместите свой пакет R в репозиторий mypackage. Тогда просто позвоните devtools::install_github("myname/mypackage"). Пакет mypackage будет загружен и установлен, как и все зависимости, перечисленные в разделе Imports в файле DESCRIPTION.