无法永久更改 R 中的 CRAN 存储库 (OS X)

Can't permanently change the CRAN repository in R (OS X)

我正在焦急地想弄清楚为什么我无法永久更改 OS X 10.11.3 系统上 R 中使用的 CRAN 存储库。我已经按照网上的说明进行操作,例如 this SO question and this SO question and this webpage,并将其放入我的 .Rprofile 文件中:

# Change the default repository
local({r <- getOption("repos")
       r["CRAN"] <- "https://cran.cnr.berkeley.edu/" 
       options(repos=r)
})
print(getOption("repos"))

这个片段几乎直接来自 R 自己的 example("Startup") 东西,而且看起来确实应该有效。我把它作为我的 .Rprofile 中的第一件事,而我的 .Rprofile 的其余部分是微不足道的,不会触及这个选项。如果我退出重新启动 R.app,我会在启动的适当位置看到我的 print 语句的输出:

                            CRAN 
"https://cran.cnr.berkeley.edu/" 

看起来不错,对吧?不幸的是,如果我然后输入 getOption("repos") 我得到这个:

                              CRAN 
"http://cran.parentingamerica.com" 

不幸的是,parentingamerica.com 镜像似乎已经死了,至少今天是这样。有人在我的 .Rprofile 之后设置选项,我不知道是谁。我没有 ~/.RData 文件;启动时没有加载任何工作区。我没有 .Rprofile.site 文件,R 安装中的 Renviron 文件是默认文件,没有提到 "parentingamerica.com" 也没有设置 "repos" 选项。事实上,我已经在我的整个 R.framework 目录中对任何包含 "parentingamerica" 的文件进行了 find/grep 并且空手而归。我的 R_HOME/etc/ 目录中只有 Makecof、Renviron、javaconf、ldpaths 和存储库。我不确定该存储库文件的确切用途,但它不包含 "parentingamerica".

我整个上午都在为这个问题转来转去。知道这个 %^$@* parentingamerica.com 选项是从哪里来的吗?我怎样才能杀死它??

在写这篇 post 的最后,我突然想到要检查 R.app 的各种设置和偏好。在那里,在 R.app 首选项的启动面板中,"Default CRAN mirror" 设置为 http://cran.parentingamerica.com。啊。谢谢,R.app!没有明显的方法可以关闭它并让它只使用我 .Rprofile 中的一组;但至少我可以在那里更改它并且它有效。发布此信息以帮助走同样道路的其他人。

我将启动面板状态的图像粘贴到您的回答中。然后我在文本上退格并关闭首选项对话框,退出 R,并编辑我的 .Rprofile 文件以包含此行:

options(repos="https://cloud.r-project.org/")

然后我打开了一个 R.app 会话并看到了这个结果:

> getOption('repos')
[1] "https://https://cloud.r-project.org/"

Preferences/Startup 面板显示默认 CRAN 镜像设置为空白。所以在我看来,首选项设置的行为确实允许您将 .Rprofile 用于 select 您的默认存储库,如果这是您选择的策略。 (我还检查了包安装程序是否支持此回购设置。)

如果 .Rprofile 没有加载到 Mac OS X 另一件要检查的事情(如果 42 的解决方案不起作用)是检查主目录的路径。许多关于这个问题的帮助文件都提到了

file.path(R.home(), ".Rprofile")

指向/Library/Frameworks/R.framework/Resources/.Rprofile

但是如果你将它指向 /Users/yourname/.Rprofile:

它应该可以工作
file.path(Sys.getenv("HOME"), ".Rprofile")