2015-08-11 5 views
1

Я работаю на машине под Windows 7 без доступа в Интернет. Пока что я обошел отсутствующее подключение к Интернету, создав локальную копию бинарного хранилища CRAN в //server/x/bin/windows/contrib/3.1, затем запустив write_PACKAGES("//server/x/bin/windows/contrib/3.1") и, наконец, установив r["CRAN"]="file:////server/x";r["CRANextra"]=r["CRAN"]; в C:/Program Files/R/R-3.1.2/etc/Rprofile.site.Изменения в install.packages() от R 3.1.2 до R 3.2.1

Но это не сработает, так как R 3.2.1. Путь в сообщении об ошибке в install.packages указывает, что R ищет пакета исходного кода:

Cannot open compressed file '//server/x/src/contrib/PACKAGES' 

Я думал, что R на Windows, выглядит только для бинарных пакетов!

Рассматривая разницу между install.packages для 3.1.2 и 3.2.1, я вижу несколько изменений. Однако исходный код функции имеет более 500 строк, что затрудняет мне, где именно проблема.

Я попытался установить

options(install.packages.check.source="no") 

и явно добавить type="win.binary" к install.packages - и без особого успеха.

Также интересно, что

contrib.url(options("repos")$repos["CRAN"],type="win.binary") 

дает правильный путь file:////server/x/bin/windows/contrib/3.2 но почему-то это не используется install.packages(...,type="win.binary") ...

Так что мой вопрос, является ли вы, ребята, сталкивались с подобными проблемами?

Если нет, я был бы благодарен за любые указатели за ошибки, которые я мог бы сделать.

ответ

2

Я нашел проблему. разделе новостей R 3.2.1 (https://cran.r-project.org/src/base/NEWS) говорит

  • по умолчанию для опции pkgType на платформах с использованием бинарных пакетов теперь «как», так исходные пакеты будут судить, если бинарные версии не доступны или не обновляется.

Проблема заключается в том, что RStudio не непосредственно вызывать install.packages, но через несколько других функций, таких как .rs.callAs. В одной из этих функций available.packages() вызывается без каких-либо аргументов. Поэтому он определяет аргумент type через getOption("pkgType"). Но так как R 3.2.1 это сейчас "both", а не "win.binary", как в R 3.1.2.

Быстрый способ решения этой проблемы таким образом, чтобы добавить

options(pkgType="win.binary") 

к yourRinstallpath/etc/Rprofile.site

Смежные вопросы