在 mac 上包含 cairo R
include cairo R on a mac
我正在尝试在 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()
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)
locale:
[1] he_IL.UTF-8/he_IL.UTF-8/he_IL.UTF-8/C/he_IL.UTF-8/he_IL.UTF-8
attached base packages:
[1] stats4 parallel stats graphics grDevices utils datasets methods
[9] base
other attached packages:
[1] GenomicRanges_1.24.2 GenomeInfoDb_1.8.3 IRanges_2.6.1
[4] S4Vectors_0.10.2 ggbio_1.20.2 BiocGenerics_0.18.0
[7] ggplot2_2.1.0 BiocInstaller_1.22.3 shiny_0.13.2
我不确定为什么会这样,有帮助吗?
谢谢!
您应该为 Mac 下载 X11,称为 XQuartz。它不再随 OS X 一起提供,因此您必须单独下载它:https://www.xquartz.org/
对于安装 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
这是我们了解 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: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
要解决这个问题,我必须 运行
brew unlink libjpeg; brew reinstall libjpeg
让它工作。然后我不得不为 libtiff 做同样的事情:
brew unlink libtiff; brew reinstall libtiff
修复这两个库后,运行ning install.packages("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()
R version 3.3.1 (2016-06-21)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.6 (El Capitan)
locale:
[1] he_IL.UTF-8/he_IL.UTF-8/he_IL.UTF-8/C/he_IL.UTF-8/he_IL.UTF-8
attached base packages:
[1] stats4 parallel stats graphics grDevices utils datasets methods
[9] base
other attached packages:
[1] GenomicRanges_1.24.2 GenomeInfoDb_1.8.3 IRanges_2.6.1
[4] S4Vectors_0.10.2 ggbio_1.20.2 BiocGenerics_0.18.0
[7] ggplot2_2.1.0 BiocInstaller_1.22.3 shiny_0.13.2
我不确定为什么会这样,有帮助吗? 谢谢!
您应该为 Mac 下载 X11,称为 XQuartz。它不再随 OS X 一起提供,因此您必须单独下载它:https://www.xquartz.org/
对于安装 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
这是我们了解 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: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
要解决这个问题,我必须 运行
brew unlink libjpeg; brew reinstall libjpeg
让它工作。然后我不得不为 libtiff 做同样的事情:
brew unlink libtiff; brew reinstall libtiff
修复这两个库后,运行ning install.packages("Cairo")
工作了。