我想直接从包源的URL安装包。我想这样做是为了让人们可以轻松测试不应广泛(或永久)可用的预发布版本的软件包。 This是一个类似的问题,但它有所不同,因为它只描述了如何从本地文件安装而不是一般的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
能够下载文件,我觉得这应该是可能的。
答案 0 :(得分:23)
install.packages
现在可以使用http网址(而不是https)。这对我有用:
install.packages("http://www.lepem.ufc.br/jaa/colorout_1.1-0.tar.gz", repos=NULL)
编辑:从R 3.2.0开始,https
是通过libcurl构建的。这应该现在可以工作:
install.packages("https://github.com/hadley/devtools/archive/v1.7.0.tar.gz",
repos=NULL, method="libcurl")
编辑:从R 3.2.2起,https
应该使用默认选项,假设编译了libcurl支持。
编辑2016-04-20:下载在S3上托管的软件包时可能会出现一些问题,但method='wget'
目前似乎适用于那些软件包。
答案 1 :(得分:10)
请参阅devtools包中的?install_url
。
答案 2 :(得分:2)
为什么不设置将源包存储为存储库的目录?
Here is an example(尽管您可能希望将type="source"
替换为该链接代码中的type="win.binary"
。
答案 3 :(得分:0)
如果该URL是github存储库,请尝试:install_github()
例如
library(devtools)
install_github("DeveloperName/PackageName")
# e.g. install_github("cran/seoR")