ошибка с проверкой CMD R из-за зависимости пакета - PullRequest
4 голосов
/ 22 июня 2011

Фон

Я создаю newpackage , который зависит от oldpackage , и указал эту зависимость в файле newpackage/DESCRIPTION.

Кроме того,

  • oldpackage установлен в каталоге, ~/lib/R

  • my .Rprofile включает .libPaths("~/lib/R")

    • , следовательно, я могу успешно загрузить oldpackage без указания местоположения библиотеки, например, используя команду library(oldpackage) в R

Несмотря на возможность загрузки пакета без указания библиотеки, R CMD check newpackage выдает ошибку, указывающую, что он не может обработать oldpackage :

checking whether the package can be loaded ... ERROR 
Loading required package: oldpackage
Error: package 'oldpackage' could not be loaded
In addition: Warning message:
In library(pkg, character.only = TRUE, logical.return = TRUE, lib.loc = lib.loc) :
  there is no package called 'oldpackage'
Execution halted


It looks like this package has a loading problem: see the messages for
    details.

Вопросы:

  1. Почему R не может найти пакет?

  2. Можно ли указать местоположение библиотеки в файле DESCRIPTION?

1 Ответ

7 голосов
/ 22 июня 2011

Относительно вопроса 1), это и FAQ, и все же несколько раздражает.R CMD check работает в ванильном режиме, поэтому он не найдет библиотеки уровня пользователя.Насколько я помню, установка R_LIBS = "...." в вызове помогает, поэтому попробуйте это.

По вопросу 2), нет, вы не можете указать местоположение в ОПИСАНИИ.Это имеет смысл, поскольку этот файл должен работать «везде», тогда как информация о вашем местоположении является локальной для вашего компьютера.

...