【R语言】解决package的安装路径与加载路径不一致问题 您所在的位置:网站首页 为什么下载的更新包安装不了 【R语言】解决package的安装路径与加载路径不一致问题

【R语言】解决package的安装路径与加载路径不一致问题

2024-07-11 16:23| 来源: 网络整理| 查看: 265

经常性遇到更新包/依赖之后,还是报错: error: namespace 'package' 0.xx is being loaded, >=0.xx is required

查看已安装的包及其版本和路径

installed.packages()[,c('Package','Version','LibPath')]

原因是 install.packages()默认包安装lib目录是.libPaths()的第一个元素,Rstudio中的.libPaths()默认第一个是用户目录,第二个是系统目录

> .libPaths() [1] "C:/Users/sy_ta/Documents/R/win-library/3.6" "C:/Program Files/R/R-3.6.0/library"

而Rstudio默认的library()目录是系统目录 所以如果不指定lib更新package,会只更新了用户目录下的package,但每次读取的还是系统目录的,导致无法更新成功。

网上查到的方法: 在R所在目录下的etc/Rprofile.site文件末尾添加一句 .libPaths("C:/Program Files/R/R-3.6.0/library") 可以修改library路径,但只能解决直接启动R。启动Rstudio时.libPaths()还是两个路径

最终解决办法 将环境变量R_LIBS_USER设置为所需库文件夹的文件路径的值,确保library首先显示在.libPaths()中。 在Windows中设置环境变量R_LIBS_USER,控制面板(系统属性 - 高级系统属性 -环境变量 - 用户变量),添加一个新的用户变量:R_LIBS_USER=C:/Program Files/R/R-3.6.0/library。 这时候重新打开Rstudio输入.libPaths()就只有一个路径了。 但是如果R安装在C盘,安装包时会提示目录没有写入权限,所以还需要下面这步。更改文件夹写入修改权限:(如果R不是安装在C盘下此步骤可以忽略) https://jingyan.baidu.com/article/8275fc86f2b7bb06a13cf605.html


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有