【问题标题】:R install.package() paramaterize download.file() with options()R install.package() 使用 options() 参数化 download.file()
【发布时间】:2020-11-16 03:08:44
【问题描述】:

我正在运行 Jenkins 构建并利用 r-base docker image

我正在尝试安装 devtools 我怀疑自签名证书是我的问题。

当我尝试安装包时。

install.packages("devtools", 
                 method = options("extra", " --insecure --user"))

我收到以下错误

 'arg' must be NULL or a character vector

如何设置 package.install 以忽略证书?根据我的阅读,我需要为install.packages() 中的method 参数使用options() 参数化download.file(),但我不知道如何。

注意:我不是 R 程序员,如果这是基本的东西,我很高兴知道某处是否有关于此类内容的 R 教程。

我对@9​​87654329@ 做错了什么以及如何将-k--insecure 传递给libcurl

【问题讨论】:

  • 试试install.packages("devtools", method = "libcurl", extra = " --insecure --user")extra 是一个参数,而不是一个选项。

标签: r jenkins devtools


【解决方案1】:

到带有method = "libcurl" 和一些额外选项的download.file,将相应参数中的这些值传递给下载文件函数。

install.packages("devtools", method = "libcurl", extra = " --insecure --user")

可以使用options() 设置这些选项。下面的示例将该方法设置为另一个额外的下载文件选项。之前的设置保存在old_opt中。

libcurl_opts <- list(
  download.file.method = "libcurl",
  download.file.extra = " --insecure --user"
)

old_opt <- options(libcurl_opts)

检查它是否有效。

getOption("download.file.method")
#[1] "libcurl"

现在完成后重置。

options(old_opt)
getOption("download.file.method")
#NULL

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 2021-12-30
    • 1970-01-01
    相关资源
    最近更新 更多