Ошибка при установке пакетов с помощью renv :: restore () - PullRequest
0 голосов
/ 20 марта 2020

У меня проблема с использованием . Для более крупного проекта мы хотим использовать , чтобы все имели одинаковую версию и все наши пакеты. Тем не менее, как только доступна более новая версия пакета и мы запускаем renv::restore(), мы получаем ошибку, подобную следующей (обратите внимание: - не единственный пакет. Это также происходит с greybox, mime , stringi и многие другие).

Error installing package 'RcppArmadillo':
=========================================

* installing *source* package 'RcppArmadillo' ...
** Package 'RcppArmadillo' successfully unpacked and MD5 sums checked
** using staged installation

   **********************************************
   WARNING: this package has a configure script
         It probably needs manual configuration
   **********************************************


** libs
Warning in system(paste(cmd, "shlib-clean")) 'make' not found
Warning in system(cmd) 'make' not found
ERROR: compilation failed for package 'RcppArmadillo'
* removing 'C:/Users/..../renv/staging/1/RcppArmadillo'
Error: install of package 'RcppArmadillo' failed

Теперь у меня есть два вопроса:

  1. Как я могу исправить эту ошибку?
  2. Как мы можем использовать то же самое версии пакетов в нашей команде, если падает каждый раз, когда доступна более новая версия?

Спасибо. Lizz ie

1 Ответ

1 голос
/ 21 марта 2020

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

  1. Рассмотрите возможность использования контрольной точки MRAN в качестве хранилища R. Плюсом является то, что двоичные файлы для этих старых пакетов останутся доступными; Недостатком является то, что вы не будете уведомлены, если новые пакеты станут доступными.

  2. Установите необходимое программное обеспечение, чтобы вы могли собирать эти пакеты из источников.

Для 2. на Windows вам потребуется установить Rtools:

https://cran.r-project.org/bin/windows/Rtools/

Вы также можете использовать функцию renv::equip() для загрузите различные библиотеки, необходимые для компиляции некоторых пакетов из исходных кодов (например, nloptr).

...