反正有从github下载压缩包而不安装吗?
例如运行:
devtools::install_github("tidyverse/tidyr")
立即下载并安装。有什么等于
download.packages("tidyr", destdir = "path")
对于github包?
答案 0 :(得分:1)
如果要下载GitHub存储库(在这种情况下为tidyr
包),可以使用download.file
并通过右键单击GitHub复制或下载按钮来复制链接。< / p>
download.file(url = "https://github.com/tidyverse/tidyr/archive/master.zip",
destfile = "tidyr.zip")
如果您希望函数执行此操作,则可能的解决方案是(它将下载到当前工作目录中):
download_git <- function(repo_name, repo_url, install = FALSE){
url_git <- paste0(file.path(repo, "archive", "master"), ".zip")
download.file(url = url_git,
destfile = paste0(repo_name, "-master.zip"))
if(install) {
unzip(zipfile = paste0(repo_name, "-master.zip"))
devtools::install(paste0(repo_name,"-master"))
}
}
这是一个使用方法的示例(带有安装选项):
download_git(repo_name = "tidyr",
repo_url = "https://github.com/tidyverse/tidyr",
install = TRUE)
答案 1 :(得分:0)
我认为您可以使用:
repo <- "tidyverse/tidyr"
download.file(
url = paste0("https://api.github.com/repos/", repo, "/tarball/master"),
destfile = "~/tidyr.tar.gz"
)
如果要通过软件包进行操作,则可以使用remotes
:
x <- list(host = "api.github.com", repo = "tidyr", username = "tidyverse", ref = "master")
tmpFile <- remotes:::remote_download.github_remote(x)
file.rename(tmpFile, "~/tidyr.tar.gz")
这实际上等同于上述内容。请注意,remote_download.github_remote
函数不会导出,因此不会使用它的“官方”方式。