Advertisement

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

阅读量:
R语言—下载R包提示00LOCK-dplyr解决
1.遇到问题(R版本3.5.1)

在使用其他软件时会调用R包dplyr,此时该软件包显示当前版本已不足,可能导致其他软件无法正常运行。因此必须升级该R包。当时考虑的是先卸载现有版本随后安装最新版本。

运行命令`remove.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
    
    
    handlebars
2. 搜索问题

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

复制代码
    https://github.com/stan-dev/rstanarm/issues/543
    
    
    handlebars

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

复制代码
    rm -rf /data/cfc424_data/biosoft/miniconda3/lib/R/library/00LOCK-dplyr
    
    
    handlebars
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
    
    
    handlebars
![](https://ad.itadn.com/c/weblog/blog-img/images/2025-07-12/BdQNHjpLxR6WfqEP2SAkITgu9w5v.png)

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

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

手动下载:

复制代码
    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
    
    
    handlebars

在R环境中手动安装这三个软件包,在此过程中有两个软件包的安装过程均顺利完成。然而,在尝试使用第三个软件包时遇到了问题,并最终导致整个操作中断的原因是缺少必要的依赖项 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
    
    
    handlebars

原本以为安装完上面vctrs的所有依赖就足够了。然而实际情况是发现后面仍然存在大量未解决的依赖问题。经过分析我认为这可能归因于R版本过于老旧所致。因此决定放弃当前版本并采用conda重新构建一个完整的R环境以确保所有依赖都能得到满足

记录

注意,在经历了上述操作后发现,过于老旧的 R 版本(如 R3.5.1)可能会导致 R 包安装出现问题。在之前的步骤中下载的那个 R 包是与当时的运行环境相兼容配置好的,而现在所下载的新版 R 包却需要更高的版本兼容性,因此必须先更新所有相关的依赖软件。然而,对于那些对依赖软件要求极高的项目,在无法满足相关需求时应及早终止开发。

全部评论 (0)

还没有任何评论哟~