加载同样的包每次报错还不一样

因为前面的Mac电脑键盘掉漆,而且tab键失灵,恰好新学期学生优惠开始了 ,就顺便换了个新Mac。配置环境后出现了超级诡异的事情,前前后后折腾了两三天,值得分享一下:

一般来说,拿到全新电脑,就按照我五年前写的生物信息学办公电脑环境配置教程安装好R和rstudio,以及对应的R包,详见:http://www.bio-info-trainee.com/3727.html

但是加载包的时候,出现了让我百思不得其解的报错情况,每次我都需要重新打开rstudio,然后加载 library(RTN),你能看到下面有几种不同的报错吗?

*** recursive gc invocation
*** recursive gc invocation
*** recursive gc invocation
错误: package or namespace load failed for ‘RTN’ in is(fdef, "groupGenericFunction"):
 找不到对象'object'

 错误: package or namespace load failed for ‘RTN’ in assign(.sigLabel(sig), el, envir = table):
 第一个参数不对


> library(RTN)
错误: package or namespace load failed for ‘RTN’ in .getGeneric(f, where, package):
 'The argument "f" to getGeneric'必需是单一字符串(现在它是类别为"call"的对象)
*** recursive gc invocation
*** recursive gc invocation
*** recursive gc invocation
错误: package or namespace load failed for ‘RTN’ in namespaceImportFrom(self, asNamespace(ns), from = from, except = except):
 'installTrChar' must be called on a CHARSXP, but got 'environment'


错误: package or namespace load failed for ‘Seurat’ in `parent.env<-`(`*tmp*`, value = if (!is.null(data$enclos)) data$enclos else emptyenv()):
 参数不是环境

> R_system_version()
Error in .make_numeric_version(x, strict, .standard_regexps()$valid_R_system_version, :

起码是五种不同的报错提示,本来是准备去GitHub或者Stack Overflow求助的,先看了看自己的电脑环境:

> sessionInfo()
R version 4.1.1 (2021-08-10)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur 11.5.2

Matrix products: default
LAPACK: /Library/Frameworks/R.framework/Versions/4.1/Resources/lib/libRlapack.dylib

locale:
[1] zh_CN.UTF-8/zh_CN.UTF-8/zh_CN.UTF-8/C/zh_CN.UTF-8/zh_CN.UTF-8

attached base packages:
[1] stats graphics grDevices utils datasets methods base

loaded via a namespace (and not attached):
 [1] compiler_4.1.1 minet_3.50.0 magrittr_2.0.1 limma_3.48.3 snow_0.4-4 
 [6] parallel_4.1.1 tools_4.1.1 igraph_1.2.7 RedeR_1.40.5 data.table_1.14.2
[11] pkgconfig_2.0.3 
>

我留意到了两件事, 首先自己的Mac电脑并不是最新版系统,目前是macOS Big Sur 11.5.2 ,而最新版是:macOS Monterey ,其它一些版本如下所示:

macOS 最新版本
macOS Monterey 12.0.1
macOS Big Sur 11.6.1
macOS Catalina 10.15.7
macOS Mojave 10.14.6

参考:https://support.apple.com/zh-cn/HT201260

想着是不是新买的电脑,但是操作系统没有跟上时代,就花了两个多小时更新了系统,尴尬的是升级到了最新版,仍然是不能解决前面的加载同样的包每次报错还不一样的郁闷。

这个时候,灵感来了,我去原始的R里面加载同样的包,居然就不会报错,让我彻底明白了,所谓的报错,居然是Rstudio这个工具的问题!但是我明明是在官网下载的最新版啊:https://www.rstudio.com/products/rstudio/download/

官网的最新版Rstudio

这个时候,跟朋友们交流了一下, 发现大家的rstudio并不是目前官网显示的日期这样的标记,而是 普通的版本号,比如:RStudio-1.4.1717.dmg

所以我去下载了旧版本的rstudio,果然,这次就没有了前面的奇奇怪怪的报错。

但我其实并不能理解其中的问题产生的原因,仅仅是使用控制变量法的思维去解决了这些报错罢了。

Comments are closed.