Я хотел бы установить пакет непосредственно из URL-адреса источника пакета. Я хочу сделать это, чтобы люди могли протестировать предварительно выпущенную версию пакета, которая не должна быть широко (или постоянно) доступна. This - аналогичный вопрос, но он отличается тем, что он описывает только то, как устанавливать из локальных файлов не общие URL-адреса.Установите пакет R непосредственно из 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
способен скачивать файлы, я считаю, что это должно быть возможно.
Пакет не найден в вашем первоначальном запросе, потому что его нет. Это 'boot_1.3-9.tar.gz' в этом каталоге. –
@ SimonO101 жаль, что это была ошибка, которую я сделал при написании вопроса. Фиксация этого, к сожалению, не изменяет поведение. – orizon
Почему бы не настроить каталог, в котором вы храните исходный пакет в качестве репозитория? [Вот пример] (http://stackoverflow.com/questions/2905650/creating-a-local-r-package-repository), хотя вы, скорее всего, захотите подставить 'type =" source "' for 'type = "win.binary" ' –