公众号里的文章大多数需要编程基础,如果因为代码看不懂,而跟不上正文的节奏,可以来找我学习,相当于给自己一个新手保护期。我的课程都是循环开课,点进去咨询微信↓ 生信分析直播课程(每月初开一期,春节休一个月) 生信新手保护学习小组(每月两期) 单细胞陪伴学习小组(每月两期)
编译报错
人啊,身在福中要知福。平时安装一些非常常用的包是从cran和bioconductor上,所以感觉不出来什么。正因为有他们,你才避免掉了很多包要编译的问题!
当你需要安装历史版本的R包或者github的R包时,编译的问题就会时不时蹦出来啦!
如果是windows遇到make报错,那么就是Rtools的问题。装对应版本的Rtools即可。
如果mac出现make报错 比如:
首先是考虑是否是M1芯片
如果是的话,不要安装arm芯片的R语言!
虽然在官网上面有提供arm版本,但还是有一些细节做的不好。
豆豆前面有一篇推文也是类似的问题:
M1/2芯片的Mac无法安装Bioconductor的包?怎么破?
其次考虑配套软件
windows配套的只有rtools而mac有3个,在官方网站上面有提及,分别是:
Xcode、GNU Fortran和XQuartz。
官网的描述是:
Note: the use of X11 (including tcltk) requires XQuartz (version 2.8.5 or later). Always re-install XQuartz when upgrading your macOS to a new major version.
This release uses Xcode 14.2/14.3 and GNU Fortran 12.2. If you wish to compile R packages which contain Fortran code, you may need to download the corresponding GNU Fortran compiler from https://mac.R-project.org/tools. Any external libraries and tools are expected to live in /opt/R/arm64 (Apple silicon) or /opt/R/x86_64 (Intel).
下面是kimi告诉我们的他们的作用
Xcode:
Xcode是苹果公司开发的一个集成开发环境(IDE),主要用于开发macOS、iOS、watchOS和tvOS应用程序。 它包含了一套完整的工具集,包括编译器、调试器和性能分析工具,支持Swift、Objective-C、C和C++等多种编程语言。 Xcode是苹果开发者的主要工具,用于构建和优化苹果平台上的应用程序。
GNU Fortran是GNU编译器集合(GCC)的一部分,专门用于编译Fortran语言编写的程序。 Fortran是一种高性能的编程语言,常用于科学计算、数值分析和工程领域。 在某些情况下,特别是在需要编译包含Fortran代码的R包时,需要GNU Fortran编译器。
XQuartz是X.Org的X Window System的macOS移植版本,它允许macOS用户运行基于X11的应用程序。 X11是一个用于Unix和类Unix系统的窗口系统,许多开源软件和科学计算工具依赖于X11。 XQuartz使得macOS用户能够运行那些需要X11环境的应用程序,比如一些基于图形界面的科学计算软件。
把这三个软件都装上,如果还是不对,就要检查他们的版本啦:
如官网所述,4.4对应的是:
XQuartz (version 2.8.5 or later).
Xcode 14.2/14.3
GNU Fortran 12.2
最后,记得装完软件后重启一下,重启解决无数问题噻。
最后,不要因此而质疑mac
你可能觉得好麻烦,还是windows好呢。mac很好,M系列芯片也很好,只要用正确的打开方式就行。在R语言上面其实体现不出二者的差别,但如果你学shell和python就知道啦,一些细节的地方,还是mac丝滑。
网友什么事都能吵起来,咱不吵哈,你喜欢什么就用什么,我没意见呢。
我有mac但我的主力机还是windows,主要因为我要做ppt,受不了mac的ppt软件,难用的很。论ppt那肯定是windows丝滑,原汤化原食嘛。