前言最近使用SingleCellExperiment 这个R包时,有个函数始终不能用。结果一看才发现,我使用的版本是基于3.6的,而最新的SingleCellExperiment 是4.0,并且是基于Bioconductor 3.11,而我还在使用3.10 各种包升级太快,想要升级R的版本,Mac还比较麻烦,因为它一般默认只支持一个R版本,来回切换很不方便。而Windows就不同,Rstudio中可以自由切换。 好在,这次我找到了一个非常非常好用的工具——Rswitch,专注于Mac用户 仔细看它的小图标,竟然还是我和花花最喜欢的美队(又名”九队“,如果不知道这个梗,需要好好补复联了😜) 看一个软件如何,先看UI设计官网在:https:///rswitch/ 安装包下载地址是:https:///rswitch/releases/RSwitch-1.7.0.app.zip
看上去就很专业,并且把最简答的帮助文档做成一张图,一目了然。说明开发者是费了心思的 帮助界面则是极客风格的黑白绿配色致敬一下这几个开发者 如何使用呢?下载安装后,打开不会弹出任何窗口,只会在顶部显示一个小图标 点击就会显示官网主页的帮助菜单 首先可以看我们R语言各个版本的安装路径> fs::dir_tree(path = "/Library/Frameworks/R.framework/Versions", recurse = FALSE)/Library/Frameworks/R.framework/Versions
├── 3.6└── Current 看到这里我只有一个3.6版本 还能看每个版本下边的文件包括了libraries, code, pacakges, configuration elements, etc fs::dir_tree(path = "/Library/Frameworks/R.framework/Versions/3.6", recurse = 1) 正常情况下,如果从https://cran./bin/macosx/这里下载安装包,并安装后,Current 软连接会自动链接到刚刚安装好的这个版本。不过既然是软连接,就可以进行更改,进而完成切换版本的需求 可以同时安装三个不同的版本,早期版(3.5/3.6)、当前版(4.0)、开发版(4.1) 我准备安装R 4.0下载完后,打开终端(terminal) # 首先进根目录cd /# 然后解压安装包(这里需要使用sudo管理员权限,否则可能不会在 Library/Frameworks/R.framework/Versions下创建子目录)sudo tar zxvf Users/xxx/Downloads/R-4.0-branch.tar.gz 安装好后,会看到: 然后再次打开Rstudio,就会看到: 【了解】另外一种常见的安装方式是:下载.pkg 安装包,然后用鼠标点点点这样存在一定风险: You can also use the .pkg versions if you prefer a clicky-installer wizard, but these installers will remove any previous versions of the framework (kinda defeating the purpose) 不过下载.pkg 也不是不能装:使用pkgutil --forget 就可以预防上面的风险 sudo pkgutil --forget org.r-project.R.el-capitan.fw.pkg \ # may need to use high-sierra vs el-capitan
--forget org.r-project.x86_64.tcltk.x11 --forget org.r-project.x86_64.texinfo --forget org.r-project.R.el-capitan.GUI.pkg
除此以外,还能帮助你下载最新的Rstudio还有一个在线资源宝藏库还能帮你一键链接远程的Rstudio Server最后回到我的问题问题是出在SingleCellExperiment 这个包上,这次再来看看 如果我使用3.6.1,它安装的最新版也就是1.8.0> package.version('SingleCellExperiment')[1] "1.8.0" 如果我切换到4.0.2需要重新安装一些包,如果你现在的主场还是3.6的话,那么在4.0上也不用安太多,常用的就可以了 install.packages('BiocManager') #Bioconductor最新版是3.11,仅在4.0下支持; SingleCellExperiment最新版基于Bioconductor 3.11BiocManager::install('SingleCellExperiment') sessionInfo() # 看到最新的1.10版本安装成功## SingleCellExperiment_1.10.1 如果想通过命令行转换也不是不能够如果你太爱命令行,也是可以直接敲代码转换 # 首先创建应用的软连接
ln -s /Applications/RSwitch.app/Contents/Resources/rswitch-cmd /usr/local/bin/rswitch
# 然后终端输入 (*表示当前版本)
rswitch
## 3.6
## 4.0 *
# 切换很简单
rswitch 3.6
|