Я хотел бы установить пакет непосредственно из URL-адреса для источника пакета. Я хочу сделать это, чтобы люди могли протестировать предварительно выпущенную версию пакета, которая не должна быть широко (или постоянно) доступна. Этот вопрос является аналогичным, но он отличается тем, что он описывает только то, как устанавливать из локальных файлов не общие URL-адреса.
Для этого вопроса я буду использовать ссылку на источник пакета boot
. Чтение ?install.packages
в частности, описание аргумента pkgs
предполагает:
install.packages(
"http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz",
repos = NULL, type = "source"
)
Однако это не удается:
Warning in install.packages :
installation of package
‘http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz’
had non-zero exit status
Предполагает, что URL-адрес интерпретируется как имя пакета, а не его местоположение. Мы можем обойти это с помощью следующей двухэтапной процедуры:
download.file(
"http://cran.r-project.org/src/contrib/Archive/boot/boot_1.3-7.tar.gz",
"boot"
)
install.packages("boot", repos = NULL, type = "source")
Но я бы предпочел сделать это только одним вызовом install.packages
; и поскольку install.packages
способен загружать файлы, я считаю, что это должно быть возможно.