Мой пакет не работает для R 2.15.2

У меня есть посылка под названием rpackage на локальном (корпоративном) репо. Когда я бегу install.packages("rpackage") это говорит мне, что:

Installing package(s) into ‘C:/Program Files/R/R-2.15.2/library’
(as ‘lib’ is unspecified)
Warning in install.packages :
  package ‘rpackage’ is not available (for R version 2.15.2)

Я построил этот пакет, используя R CMD INSTALL --build ., выпущенный в местный репо, а также побежал tools::write_PACKAGES() обновить PACKAGES файлы. Когда я бегу R --version Я получил:

R version 2.15.2 (2012-10-26) -- "Trick or Treat"
Copyright (C) 2012 The R Foundation for Statistical Computing
ISBN 3-900051-07-0
Platform: i386-w64-mingw32/i386 (32-bit)

И когда я бегу R CMD INSTALL --build --version Я получил:

R add-on package installer: 2.15.2 (r61015)

Структура каталогов локального репо соответствует официальной документации и работает до тех пор, пока я не обновлюсь до R 2.15.2. Структура является:

\\server\folder\R\bin\windows\contrib\
    2.11\
    2.12\
    2.13\
    2.14\
    2.15\
\\server\folder\R\src\contrib\

Если я бегу install.packages("rpackage") в R 2.15.1 у меня нет проблем. Что-то особенное, что мне нужно сделать, чтобы заставить его работать с новой версией R?

Я заметил, что серверы CRAN используют немного другую структуру каталогов. Например, зеркало CSIRO CRAN использует:

http://cran.csiro.au/bin/windows/contrib/r-release/

Есть идеи о том, как это исправить?

Большое спасибо.

3 ответа

К сожалению, ни файлы справки, ни сообщение об ошибке не объяснили причину возникновения этой ошибки. Оказывается, install.packages() также происходит сбой, когда пакет с исходным кодом недоступен, но двоичный файл делает. Это не задокументированное поведение (или более щедрое - оно не задокументировано четко):

Для бинарных установок функция также проверяет доступность исходного пакета в том же хранилище и сообщает, имеет ли исходный пакет более позднюю версию или доступна, но двоичная версия отсутствует. Эта проверка может быть подавлена options(install.packages.check.source = "no")

Чинить, options(install.packages.check.source = FALSE), Это также может быть включено в ваш .First функция.

Я не уверен, что решение imanuelc будет работать для всех, так как оно не работает для меня:

> options(install.packages.check.source = FALSE)
> install.packages("rstudio", lib="C:/Program Files/R/R-2.15.2/library", dep=TRUE)
Warning in install.packages :
package ‘rstudio’ is not available (for R version 2.15.2)

В моем случае я видел, что эта ошибка приходит и уходит для определенных пакетов, таких как tm, rjson и т. Д. Я знаю, что существует версия всех этих пакетов для R 2.15, потому что большинство из них на самом деле поставляются с моей IDE, и я ' Я просто пытаюсь заставить их установить в определенный каталог (и я хочу, чтобы там был оператор install.packages для будущих программистов с разными IDE).

Я не могу сказать, что знаю основную причину, но для меня обходной путь заключается в загрузке двоичных файлов непосредственно из зеркала и установке их "вручную" в коде.

Попробуйте обновить R до новой версии.

Чтобы сделать это первое обновление sources.list файл. Вы можете сделать это с помощью следующей команды:

nano /etc/apt/sources.list

добавьте следующую строку в этот файл:

deb http://cran.r-project.org/bin/linux/debian/ wheezy-cran3/

Затем сделайте:

apt-get update

Удалить старую версию:

apt-get remove r-base-core

Установите с помощью команды:

apt-get install r-base r-base-dev
Другие вопросы по тегам