遇到「试试在不设定镜像的情况下用 CRAN」该怎么办? | Jim Zhang's blog
遇到「试试在不设定镜像的情况下用 CRAN」该怎么办?2023-02-25

Jim 最喜欢 Future Bounce 这一电音流派啦!Justin Mylo 也算是这类流派的代表制作人,如果你喜欢 Mike Williams 的作品,那么你一定会喜欢 Justin Mylo 的曲子哈。这首《Burn Out》算是 Justin Mylo 的代表作了,实在好听 qwq。。。

⚠️ 注意: 如果你是在 R Terminal 完成了安装和运行,不会遇到本文所描述问题。如果你是在 R Studio-like 环境中遇到了问题,那么请继续阅读。

胡悦老师是我一直很敬仰的老师,然而上学期有 Python 授课任务在身,没有来得及修胡老师在乐学开办的《R 语言工作坊》课程。这学期竟然借着大数据能力提升计划课程有幸能上胡老师的课,真是运气太好了!

问题描述

胡老师有一个著名的 R 包—— drhur (CRAN),安装方法很简单:

install.packages("drhur")

用的时候直接

library(drhur)
drhur("play")

就可以了。

但是在 RStudio 里,会遇到一个麻烦:在 drhur("play") 之后,按 1 装完依赖,准备渲染 Rmarkdown 文件,并将监听到端口时,出现了:

Quitting from lines 89-104 (play_cn.Rmd) 
Error in contrib.url(repos, type) : 
  trying to use CRAN without setting a mirror
Calls: sourceWithProgress ... eval -> eval -> nrow -> available.packages -> contrib.url
Execution halted

这样的麻烦。显而易见,这是因为 RStudio 里的 R 会自动从 CRAN 下载依赖,但是由于没有设置镜像,所以会出现这样的问题。

解决方法

在 RStudio 里,这有一个 terminal 的选项,可以打开一个终端:

Windows

在这个终端里,我们可以直接输入 R.exe,进入 R 的交互式环境,步骤和下方除了那个 $ R 一样:

Mac/Linux

在这个终端里,我们可以直接输入 R,进入 R 的交互式环境,我们直接在这里重新来一遍:

$ R

然后继续

> library(drhur)
> drhur("play")

好!现在我们能看到这有个镜像选择,选个中国的镜像就好了,比如输入个 17 然后回车:

哦,啪的一下就好了,很快奥!最后一句话说:

Listening on http://127.0.0.1:4135

那我们打开个浏览器,输入 http://127.0.0.1:4135 就行了:

总结

Jim 是 RStudio 的忠实反对者!

RStudio,____才用!—— Jim Zhang 于 2023-02-25

RStudio 类似于这样的问题实在很多,导致 Jim 一直在用 Visual Studio Code + jupyter notebook + R kernel,而不是 RStudio。