Мой пакет не работает для 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