Теперь есть лучшие варианты для этого в пакете tools , который поставляется с базой R: package_dependencies()
. См., Например, Ответ от @ sebastian-c и это недавние вопросы и ответы для соответствующего варианта использования.
В пакете утилит есть не экспортированная функция getDependencies()
. Я не изучал, как это работает, но сочетание этого с ответом @ Dirk должно помочь вам в этом.
В основном, похоже, вы используете его как:
utils:::getDependencies(pkgs, dependencies, available, lib)
, где pkgs
- это символьный вектор пакетов для установки, dependencies
- это символьный вектор типов зависимостей (зависимостей, улучшений и т. Д.), Которые вы хотите, available
- это выходные данные available.packages()
и * 1021. * - это расположение библиотеки для пакетов, в которых оцениваются зависимости.
Если вы отлаживаете install.packages()
, он в основном выполняет шаг getDependencies()
, а затем шаг download.packages()
@ Dirk, прежде чем он действительно начнет устанавливать что-либо.