Ошибка R 3.2.3 devtools::install_version() (файл .zip не найден)

Я пытаюсь оставить инструкции о том, как настроить среду R, максимально похожую на мою в Windows. Я нашел этот поток stackoverflow, который был действительно полезен: Установка более старой версии пакета R

Я могу заставить работать большинство пакетов, используя пакет «versions», который берется из MRAN. Однако некоторые пакеты недоступны на MRAN (поскольку они были опубликованы слишком давно).

Поэтому я попытался использовать опцию devtools::install_version(). Однако я обнаружил, что получаю следующую ошибку:

devtools::install_version("proj4", version = "1.0-8")
#> trying URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip'
#> Error in download.file(url, destfile, method, mode = "wb", ...) : 
#>   cannot open URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip'
#> In addition: Warning message:
#> In download.file(url, destfile, method, mode = "wb", ...) :
#>   cannot open URL 'https://cran.rstudio.com/src/contrib/proj4_1.0-8.zip': HTTP status was '404 Not Found'
#> Warning in download.packages(pkgs, destdir = tmpd, available = available,  :
#>   download of package ‘animation’ failed

Просматривая сайт, я думаю, что CRAN больше не публикует файлы .zip, но есть файл .tar.gz:

https://cran.rstudio.com/src/contrib/proj4_1.0-8.tar.gz

Я считаю, что все еще могу установить файл .tar.gz, но я не знаю, как заставить R сделать это за меня.

Я надеюсь, что кто-то здесь может помочь мне с решением, которое заставляет devtools::install_version() работать на R 3.2.3. (Если единственным решением является установка версии 3.2.4, то я, вероятно, тоже мог бы это сделать, но предпочел бы этого не делать)

Я также был бы признателен за некоторые указатели, объясняющие, как хранятся эти пакеты. В частности, кажется возможным, что я мог бы просто скопировать папки из своей библиотеки и попросить кого-то другого поместить их в свою, и все будет работать (если они также используют окна (?)). Или мне придется создавать двоичные файлы? Если да, то как бы я это сделал? Таким образом, я мог бы использовать метод devtools::install_version() только в качестве резервной копии.

Спасибо!


person GregF    schedule 24.04.2016    source источник


Ответы (1)


Когда вы устанавливаете пакет, devtools получите тип из

getOption("pkgType")

Чтобы установить исходную версию, т.е. файл tar.gz, достаточно указать аргумент

devtools::install_version("proj4", version = "1.0-8", type="source")

Я предполагаю, что вы используете Windows, поэтому вам, возможно, придется установить Rtools также.

person csgillespie    schedule 24.04.2016
comment
Ха, круто. Спасибо. Я полагал, что оба будут искать источник после поиска двоичных файлов. Что он делает вместо этого? - person GregF; 24.04.2016
comment
Кроме того, можно ли собрать из двоичных файлов на моем компьютере, чтобы кому-то другому не пришлось устанавливать из исходного кода? Если да, то как? - person GregF; 24.04.2016
comment
Не уверен, почему оба не работают. Когда я создаю двоичные файлы, я использую win-builder.r-project.org/upload.aspx. - person csgillespie; 24.04.2016
comment
Вы сделали это для пакетов, которые не являются вашими? Я думал, что это автоматически отправит электронное письмо человеку в поле описания «Сопровождающий». - person GregF; 24.04.2016
comment
Загрузите пакет и измените поле «Мейнтейнер» ;) - person csgillespie; 24.04.2016