本地安装GitHub上面的R包没有NAMESPACE处理

1. 目的

  最近从GitHub上安装一个叫FlexDotPlot的R包,结果需要R版本大于等于3.6.3,但是本地没有,只有3.6.1的,想着这个差别不大,因此将FlexDotPlot包改了一下配置,可以安装,结果用devtools::install_github安装老是报错:

报错

2. 解决办法

  遇到这个问题,也百度了很多方法,发现之前有人遇到过类似的问题,被install_github吐槽版本低不给通过安装该怎么办这篇文章就有介绍以及如何解决,这个其实就是install_github太过敏感了,把warnning给转成错误,所以导致安装失败,如果本地源代码安装就不会出现此问题。

install.packages("FlexDotPlot/", repos = NULL, type = "source")

3. GitHub源代码安装

  在GitHub上面下载FlexDotPlot的源代码,然后进行安装,结果又出现报错,如下报错:

第二次出现报错

  原来是R包的源代码必须有一个NAMESPACE文件,结果这里没有,因此出现报错,遇山开路,遇河搭桥,既然遇到了问题,那就解决这个问题,这个问题最后也是通过网上查询知道了解决方案, Stack Overflow上具有人遇到过此类问题,而且也给了解决方案。只需要再生成一个NAMESPACE文件即可。

 echo 'exportPattern( "." )' > NAMESPACE

  然后再通过源代码安装,在这里,除了一些警告信息,就没有其他的问题,重要解决了。

 install.packages("FlexDotPlot/", repos = NULL, type = "source")

警告信息

  在这里出现了很多的警告信息,比如之前遇到的gridExtra需要R version 3.6.3版本,而且不止一个包,还有很多其他的一些包,都有此问题,不过这里只是一个警告信息。到了这里,FlexDotPlot包已经安装完成,没有其他问题,不过这个过程,给了我们一个提示,有时候devtools::install_github出现报错的问题,可以通过源代码来安装,devtools::install_github比源代码对警告信息更为敏感。

4. FlexDotPlot

  FlexDotPlot包是什么,有什么作用,以有时间再记录,这就是一个单细胞转录组画图的包,这里我就放几个图,以后有时间在写使用记录文档。

# Reduce dendrogramm sizes (default widths/heights = c(1,5))

image.png

image.png

2020年11月23日

你可能感兴趣的:(本地安装GitHub上面的R包没有NAMESPACE处理)