R语言---下载R包提示00LOCK-dplyr解决

R语言—下载R包提示00LOCK-dplyr解决

1.遇到问题(R版本3.5.1)

在使用其他软件的时候会调用R包dplyr,当时提示这个软件包版本不够,会影响其他软件的使用。因此需要升级这个R包,当时想的是删除当前版本,然后下载一个新的版本。

使用remove.packages("dplyr")删除,之后下载使用install.packages("dplyr"),报错如下:

ERROR: failed to lock directory /data/cfc424_data/biosoft/miniconda3/lib/R/library’ for modifying
Try removing /data/cfc424_data/biosoft/miniconda3/lib/R/library/00LOCK-dplyr’
Warning in install.packages :
  installation of package ‘dplyr’ had non-zero exit status

2. 搜索问题

搜索这个问题时,尝试了几个方法都没有解决,看到下面的链接:

https://github.com/stan-dev/rstanarm/issues/543

按照里面的方法,删掉LOCK文件;

rm -rf /data/cfc424_data/biosoft/miniconda3/lib/R/library/00LOCK-dplyr

3. 尝试本地安装

由于环境中的R目前是R3.5.1,所以先尝试本地安装吧,毕竟R更新的版本太多了。

## 下载source package
wget -c https://cran.r-project.org/src/contrib/dplyr_1.0.8.tar.gz

## 进入R环境
R

## 尝试本地安装
> install.packages("./dplyr_1.0.8.tar.gz",type="source",repo=NULL)
ERROR: dependencies ‘generics’, ‘lifecycle’, ‘vctrs’ are not available for package ‘dplyr’
* removing /data/cfc424_data/biosoft/miniconda3/lib/R/library/dplyr’
Warning message:
In install.packages("./dplyr_1.0.8.tar.gz", type = "source", repo = NULL) :
  安装程序包‘./dplyr_1.0.8.tar.gz’时退出狀態的值不是0

从上面可以看到,存在三个依赖包,直接下载出现报错:

> install.packages(c("generics", "lifecycle","vctrs"))
Warning message:
packages ‘generics’, ‘lifecycle’, ‘vctrs’ are not available (for R version 3.5.1)

手动下载:

wget -c https://cran.r-project.org/src/contrib/generics_0.1.2.tar.gz
wget -c https://cran.r-project.org/src/contrib/lifecycle_1.0.1.tar.gz
wget -c https://cran.r-project.org/src/contrib/vctrs_0.3.8.tar.gz

进入R中手动安装这三个包,lifecyclegenerics成功安装,vctrs安装失败,提示报错,缺少依赖包ellipsis

> install.packages("./vctrs_0.3.8.tar.gz", type="source", repo=NULL)
ERROR: dependency ‘ellipsis’ is not available for package ‘vctrs’
* removing /data/cfc424_data/biosoft/miniconda3/lib/R/library/vctrs’
Warning message:
In install.packages("./vctrs_0.3.8.tar.gz", type = "source", repo = NULL) :
  安装程序包‘./vctrs_0.3.8.tar.gz’时退出狀態的值不是0

本以为安装完上面vctrs的依赖就可以了,结果发现后面依然依赖了一堆的包,我觉得这很可能是R版本太老了导致的,最终选择放弃该版本下载,使用conda重新创建一个R环境,下载即可。

记录

注意,经过上面的操作发现,太陈旧的R版本(R3.5.1)会引起R包安装问题。
当时下载的R包是复合当时环境的,现在下载的R包要求更高版本的依赖包了,所以需要更新完依赖包才行,对于依赖过多的R包,应该及时放弃。

你可能感兴趣的:(R语言,r语言,开发语言)