对于R install.packages,可以使用环境变量指定默认的CRAN镜像或repo吗?

q3qa4bjr  于 2023-04-18  发布在  其他
关注(0)|答案(1)|浏览(109)

通常我安装R包时会使用:

install.packages("my_package", repos = "https://cloud.r-project.org")

是否可以使用环境变量指定CRAN镜像

export CRAN_URL="https://cloud.r-project.org"

这样我就可以调用install.packages而不调用repo?例如,

install.packages("my_package")

我也使用pak
我知道我可以修改我的.Rprofile,但我想要一个更可移植的解决方案(在我可能登录的多台机器上可执行,其中定义了env变量)。
我发现了一些关于R_CRAN_WEBR_CRAN_SRC的东西,但是设置这些对我来说似乎没有任何改变。
如果这个问题已经被回答了,我很抱歉。这似乎是一个基本的问题,但我在以下问题中找不到答案:

uplii1fm

uplii1fm1#

R有自己的一组“选项”,您可以通过help(options)了解更多信息。
特别是,其中有一个名为repos,通过在启动时设置其值,您可以设置您的存储库。

## We set the cloud mirror, which is 'network-close' to everybody, as default
local({
    r <- getOption("repos")
    r["CRAN"] <- "https://cloud.r-project.org"
    options(repos = r)
})

(and这实际上是从Rprofile.site的Debian R包我照顾),然后

> options("repos")
$repos
                        CRAN 
"https://cran.r-project.org" 

>

以便install.packages()自动从内容分发网络(CDN)中选择网络关闭的“云”镜像。
这个行为 * 是 * 有文档记录的,即使你可能更喜欢用一个环境变量来选择它--options("repos")。现在,* 你 * 可以添加代码从一个环境变量中选择你想要的值,并在你的~/.Rprofile中赋值,这是一种方式。R在默认情况下不会为你做这件事。
有关各种启动文件的详细讨论,请参阅help(Startup)
(Edit:我不小心cran.r-project.org从我的机器上直接指向维也纳复制了www.example.com,一个更好的更便携的设置是使用CDN镜像系统cloud.r-project.org,如文中所述。现在在代码片段中也进行了纠正。)

相关问题