首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >停止R呼叫XQuartz

停止R呼叫XQuartz
EN

Stack Overflow用户
提问于 2019-05-20 12:33:52
回答 2查看 2.6K关注 0票数 1

我在macOS上,在终端机上使用R。R经常启动XQuartz,例如使用install.packages("digest")

代码语言:javascript
复制
> install.packages("digest")
Installing package into ‘~/Library/R/3.5/library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---

XQuartz窗口将与Secure CRAN mirrors一起打开。

另一个例子是,当一个较新的包可用并且一个XQuartz窗口打开时

代码语言:javascript
复制
These packages have more recent versions available. Which would you like to update?
digest (0.6.18 -> 0.6.19) [CRAN]

我怎样才能强迫R从终端问问题而不是打开XQuartz?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-21 07:16:00

这是因为XQuartz是MacOSX所必需的。在R MacOSX常见问题

石英()设备是用于Mac的R中的本机图形设备。石英()设备可以从R.APP或在Mac控制台上运行的合适的R构建中使用。支持的地方是默认的图形设备。..。石英装置允许相互作用。

可以在安装软件包时设置CRAN存储库:

代码语言:javascript
复制
install.packages("digest", repos = "https://cran.r-project.org")

您还可以在代码的开头使用options定义CRAN存储库。

代码语言:javascript
复制
options(repos = structure(c(CRAN = "your_cran_mirror")))

这是一个克拉米洛斯列表,在这里你可以选择一个最适合你的情况。

您还可以在Rprofile.site上(在macOS上设置在/Library/Frameworks/R.framework/Resources/etc/Rprofile.site上)在站点范围内设置这些首选项:

代码语言:javascript
复制
local({r <- getOption("repos")
       r["CRAN"] <- "http://cran.r-project.org"
       options(repos=r)})

P.S.:后者是从这个职位复制的。

票数 1
EN

Stack Overflow用户

发布于 2019-06-19 06:00:18

尽管XQuartz是Mac上R的本地图形设备,但实际上仍然可以控制这些菜单的直接显示位置。通过在.Rprofile中添加一行,您可以强制R在控制台中直接问问题,就像您正在问的那样:

代码语言:javascript
复制
options("menu.graphics" = FALSE)

真正发生的事情是,函数install.packages实际上是在调用utils::menu,它向用户显示了一个选项菜单。函数menu本身以两种模式运行:如果它的graphics参数是TRUE,那么它尝试在默认图形设备中显示菜单--在本例中,是一个XQuartz窗口--否则将在控制台中显示一个文本菜单。此行为由全局选项menu.graphics控制。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56221141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档