在mac机上包含CAROR

在mac机上包含CAROR,r,macos,cairo,R,Macos,Cairo,我试图在Rstudio中使用'Cairo'包,使用命令install.packages('Cairo') 这一切都顺利通过。 我收到这个信息- The downloaded binary packages are in /var/folders/xn/c1nj85gx62b89876s15sbv9h0000gn/T//RtmpK9JM0l/downloaded_packages 包出现在包列表中,但当我尝试使用library(Cairo)或library(“Cairo”)包含包时, 我得到了

我试图在Rstudio中使用'Cairo'包,使用命令
install.packages('Cairo')
这一切都顺利通过。 我收到这个信息-

The downloaded binary packages are in
/var/folders/xn/c1nj85gx62b89876s15sbv9h0000gn/T//RtmpK9JM0l/downloaded_packages 
包出现在包列表中,但当我尝试使用
library(Cairo)
library(“Cairo”)包含包时,
我得到了这个错误消息-

Error : .onLoad failed in loadNamespace() for 'Cairo', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so':
  dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
  Referenced from: /Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so
  Reason: image not found
Error: package or namespace load failed for ‘Cairo’
sessionInfo()

我不知道为什么会这样,有什么帮助吗?
谢谢

您应该下载X11 for Mac,它被称为XQuartz。它不再随OS X提供,因此您必须从以下位置单独下载:

对于安装XQuartz未解决问题的用户:

检查错误消息中以“Library not loaded:…”开头的部分。例如,在用户的问题中,错误消息包含以下行:

dlopen(/Library/Frameworks/R.framework/Versions/3.3/Resources/library/Cairo/libs/Cairo.so, 6): Library not loaded: /opt/X11/lib/libXrender.1.dylib
注意这一部分:

Library not loaded: /opt/X11/lib/libXrender.1.dylib
Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
这就是关于XQuartz的线索

但是,在我的例子中,它指定未加载
libjpeg
,如下所示:

Error: package or namespace load failed for ‘Cairo’:
 .onLoad failed in loadNamespace() for 'Cairo', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so':
  dlopen(/usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so, 6): Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
  Referenced from: /usr/local/lib/R/3.5/site-library/Cairo/libs/Cairo.so
  Reason: image not found
Error: loading failed
注意这一部分:

Library not loaded: /opt/X11/lib/libXrender.1.dylib
Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
为了解决这个问题,我不得不跑

brew unlink libjpeg; brew reinstall libjpeg
让它工作。然后我不得不为libtiff做同样的事情:

brew unlink libtiff; brew reinstall libtiff

在修复了这两个库之后,运行
install.packages(“Cairo”)
工作正常。

您是否已安装为您的主X11平台?如果没有,请下载、安装并重新启动计算机。希望这会有帮助。谢谢!我不知道,《开罗》需要石英有什么原因吗?因为我在安装软件包时从未遇到过这个问题,我相信它一直都需要它。只是在以前的Mac版本上,操作系统附带了一个相当于X11平台的版本。然而,最新版本并非如此。这就是为什么你必须自己去买。你现在可以加载软件包了吗?我现在不在我的电脑旁,我回家后再加载。我要补充的是,我只对Cairo有问题,而对其他软件包没有问题,是因为它是一个处理图形的软件包,而且“XQuartz是允许跨平台应用程序在其上运行的必需组件,其中许多应用程序不是专门为OS X设计的。”谢谢!这确实是问题所在。如果问题得到解决,请将其作为解决方案投票,以便其他人可以轻松找到。我如何做到这一点?使用灰色向上箭头?(我试过了,但收到一些通知,我还不能投票,因为我是新来的……)我已删除并重新安装了XQuartz,但没有任何效果。我在macOS High Sierra上,通过brew安装了R 3.4.2。我正在尝试通过Bioconductor安装“scde”。您知道其他解决方案吗?@SanderW.vanderLaan您可能已经解决了这个问题,但我发布了一个关于在XQuartz已经安装时修复它的答案,这可能与此相关给你下面。