Загружать только исходные коды пакета и все зависимости

Мне интересно, есть ли способ использовать install.packages () или другие связанные функции для выполнения следующих действий: загружать только исходники (то есть tar.gz файлов) указанных пакетов и всех их зависимостей в указанную папку (в Windows).

Одна из причин для этого: скажем, у меня есть учетная запись Linux, которой нет включен для доступа в Интернет. Чтобы установить пакеты на машину Linux, я сначала загрузил все необходимые исходные файлы на свой компьютер с Windows, затем перебросил их по ftp на машину Linux и установил их на машине Linux, используя

  install.packages('/home/me/R/Packages/blah.tar.gz', repos = NULL)
29
задан zx8754 28 April 2015 в 13:59
поделиться

1 ответ

У меня недавно была проблема, когда я хотел загрузить все зависимости, и я решил ее следующим образом:

Скажем, я хочу все зависимости и импорт из ggplot2 и MASS:

getPackages <- function(packs){
  packages <- unlist(
    tools::package_dependencies(packs, available.packages(),
                         which=c("Depends", "Imports"), recursive=TRUE)
  )
  packages <- union(packs, packages)
  packages
}

packages <- getPackages(c("ggplot2", "MASS"))

Теперь я могу загрузить пакеты в другой каталог.

download.packages(packages, destdir="whereyouactuallywantthefiles", 
                  type="source")

Оттуда, если вы хотите сделать локальное репо на вашем ПК с Linux, следуйте инструкциям здесь .

38
ответ дан 28 November 2019 в 01:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: