前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >R 包安装常见问题解决

R 包安装常见问题解决

作者头像
数据科学工厂
发布2023-02-27 11:31:50
1.1K0
发布2023-02-27 11:31:50
举报
文章被收录于专栏:数据科学(冷冻工厂)

1. 导读

日常中使用R语言进行数据分析,或者画图的读者,相信一定逃不过的一个操作就是安装R包,那么在R包安装过程中,可能会出现一些问题,有时候这些问题并不是R包仓库下载过程中网络和R语言本身的问题,而是系统中缺失一些配置或者编译器,本文将介绍一种常见的错误,并给以解决办法。

2. 问题

gfortran

最近一位读者,在进行常规的转录组分析时,要在R中进行差异分析,因此需要安装DESeq2这个包,但是在安装过程中出现上面了这种情况,导致包没有安装成功。细心的读者,可以看见,小编已经在上图中,用红色方框框选出来了,就是:/bin/gfortran: No such file or directory。其实这个错误与/usr/bin/ld: cannot find -lxxxx可以算是一类错误。R在安装你所需要的包时,可能会需要进行编译,编译的过程中,需要使用一些系统中的编译器和库文件,如果缺失这些文件,就会导致包安装不上,其实R中安装包,出现安装问题,大多都是这个原因(不包括包的版本之间出现冲突的情况)。下面就介绍如何解决这个错误。

3. 解决办法

首先检索安装过程中出现Error的区域,查看有XXX: No such file or directory或者cannot find -lxxxx的区域,确定缺少的文件或者依赖是什么。下面以上面的gfortran为例,进行排查和解决。

3.1. 安装

首先,我们需要检查系统中是否有对应的文件或者安装了依赖

代码语言:javascript
复制
# 在终端中,输入下面两条命令
# 读者在解决自己的错误时,请将`fortran`替换为自己对应的

ldconfig -p | grep fortran 

which fortran
  • 有结果

存在

一种情况就是上图这种,文件本身是存在的,只不过系统在使用过程中,可能存在:

  1. 版本不对应。
  2. 系统无法找到文件正确的位置

如果出现上面这个情况,请直接看3.2. 版本检测3.3. 更新链接

  • 没结果

不存在

如何出现上图这种,终端返回not found,那么代表系统中是不存在该文件或依赖的。其实这种情况更好解决,只需要在终端中安装即可,操作如下:

代码语言:javascript
复制
# linux 下
sudo apt update  # 更新
sudo apt install gfortran  # 安装

# mac 下
brew install gcc  # mac下 gcc 包含了 gfortran

# 读者需要将`gfortran`,换为自身缺失的软件,再去R中重新安装包即可。

注意:对于使用Mac的读者,这边建议将brew设置为国内源,可以参考:Mac 下 brew 切换为国内源[1]

3.2. 更新链接

如果在3.1.安装中发现,依赖是存在的,那么很有可能是系统中文件的链接不对,只需要重新添加一个符合链接即可。

代码语言:javascript
复制
# 在3.1.的结果中,查看文件的原始位置,并建立链接

sudo ln -s /usr/lib/x86_64-linux-gnu/libgfortran.so.3 /usr/lib/x86_64-linux-gnu/libgfortran.so

# 此处地址由第一步检查而来
# 链接完了,可以去`R`中重新安装,如果报错请参考`3.3.版本检查`

3.3. 版本检查

如果3.2.版本检查没有解决问题的话,就只有可能是软件的版本之间有冲突。对于这个例子的gfortran,它很有可能与gcc的版本之前存在冲突,因此需要将二者的版本安装为一致的。对于读者来说,想要确定冲突的软件,可以在百度中以需要安装的软件和冲突为关键词,确定可能冲突的软件。

代码语言:javascript
复制
gcc --version  # 查看 gcc 版本

gfortran --version  # 查看 gfortran 版本 

# 如果不一致则,重新安装gcc或gfortran为一致版本,再重新安装R包即可。

★因此读者们在安装R包时,如果出现安装不成功的情况,一定要仔细阅读安装过程中打印出来的日志,查看问题的根源,在浏览器中检索,一般都有解决方案。 ”

参考资料

[1]

Mac换源: https://cloud.tencent.com/developer/article/1614039

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-10-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 冷冻工厂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 导读
  • 2. 问题
  • 3. 解决办法
    • 3.1. 安装
      • 3.2. 更新链接
        • 3.3. 版本检查
          • 参考资料
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档