新的分区:讲各式各样数据处理过程中会遇到的报错,这篇是关于R包的安装,Bioconductor的更新速度和版本要求真的能气skr人。
最近做差异表达分析,主要的两个R包 DiffBind 和 DESeq2 在 Unix 上的安装都会出现这样的问题:安装的依赖包和这两个包本身,安装失败后用warning() 查看错误信息时,都显示为:
installation of package ‘DESeq2’ had non-zero exit status
但回溯安装过程,可以发现non-zero exit status 的问题不止一种,或者说所有的安装失败,都会给出 non-zero exit status 的warning。以下列出几种可能的问题类型,或许可以按照这些办法解决掉安装失败的问题。
- ERROR: compilation failed for package
经常出现在OSX中的一个问题,缺少C++ library 提供的放头文件。解决办法是安装C++或者Xcode Command Line Tools。C++的安装不必说,Xcode Command Line Tools 的安装命令为:
xcode-select --install
安装Xcode Command Line Tools 就不会在发生 compilation failed for package 的错误了。
2. Error in if (nzchar(SHLIB_LIBADD)) SHLIB_LIBADD else character() :
argument is of length zero
参数缺失的报错,找到R安装目录下 R/etc 下是否有 Makeconf 这个文件,如果没有则需要重新安装 r-base-core 包,命令为:
sudo apt-get install r-base-core
有时候还需要安装较高版本的libtiff,注意32bit的要安装 i386:
sudo apt-get install libtiff5-dev
3. 依赖包/动态库缺失
ERROR: dependency ‘scales’ is not available for package ‘pheatmap’
其实就是前面的依赖包安装失败,导致其他依赖于这个依赖包的依赖包安装失败(Hmmm…我知道很绕口)。
Configuration failed because no mysql client library was found.
动态库缺失,在报错信息里找到需要安装的动态库,安装即可。
4. 其他
有的情况是可能服务器里安装过适用于其他版本R语言的包了,导致安装失败。在bin里找到这个包,删掉重新安装。
还有的情况干脆就是R语言版本问题,没办法安装其他版本的R语言吧(心里满是对Bioconductor的怨念)
如果还是不行,检查一下 tk和tcl,重新安装一下试试…
十一就要结束了,o(╥﹏╥)o我还没放够假啊(怨念)
话说我写这个跟生信有什么关系啊……