当前位置: 首页 > news >正文

R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点

文章目录

  • R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点
    • 软件版本及环境
    • 遇到的问题描述
    • 问题的分析和探究
    • 最终的解决方案
      • 折中方案
      • 根治方案
    • 其他在安装过程中需要注意的问题

R 语言入门学习笔记:软件安装踩坑记录——删除所有包以及彻底解决库包被安装到 C 盘用户目录下的问题,以及一些其他需要注意的点

最近刚刚开始学习 R 语言,想要来个速通,结果第一天就踩坑了。写个笔记放在这里记录一下。

软件版本及环境

  • 操作系统:Windows 10 22H2

  • R 版本:4.4.0,安装路径 D:\Program Files\R\R-4.4.0

  • RStdio 版本:RStudio-2024.04.1-748,安装路径 D:\Program Files\RStdio

遇到的问题描述

在 R 中安装库包:

install.packages("dplyr")

结果发现所有的包都被安装到 C 盘用户目录下面。我的 C 盘本来也没多大,本来容量就红盘。这样一安装就快爆盘了:

将程序包安装入‘C:/Users/asus/AppData/Local/R/win-library/4.4’
(因为‘lib’没有被指定)
还安装依赖关系‘fansi’, ‘utf8’, ‘pkgconfig’, ‘cli’, ‘generics’, ‘glue’, ‘lifecycle’, ‘magrittr’, ‘pillar’, ‘R6’, ‘tibble’, ‘tidyselect’, ‘vctrs’

如果遇到了相同的问题、不想看中间的细节的朋友可以直接拉到最底下看解决方案。

问题的分析和探究

使用 R 语言命令 .libPaths() 可以查看默认的 R 语言包的安装路径,发现输出结果为:

> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/library"

为了解决这个问题,根据 Chat 姐提供的帮助,修改 R 安装目录下的配置文件 Rprofile.site,配置文件的完整路径位于:D:\Program Files\R\R-4.4.0\etc\Rprofile.site。编辑这个文件需要管理员权限,因此可以使用下面的方法:

  1. 在 Windows 开始菜单中找到 Windows 附件 -> 记事本,选择“以管理员身份运行”。

  2. 在管理员权限下的记事本里面打开 D:\Program Files\R\R-4.4.0\etc\Rprofile.site

因为我的电脑上安装过 gsudo 和 MSYS2 Bash 以及 Vim,所以我可以直接 cd /d/Program Files/*/*/etc/ 然后 sudo vim ./Rprofile.site

打开文件后在文件中添加如下的 R 命令:
.libPaths(“D:/Program Files/R/R-4.4.0/library”)

从理论上说,这个命令会在每次 R 语言启动的时候都设置 R 的语言包的安装路径为 "D:/Program Files/R/R-4.4.0/library" 装到 D 盘。但是实际上,我随即重启了 RStdio,再次执行命令:

> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/librar

路径并没有被修改。

这让我想起曾经初次配置 Python 的时候也遇到过类似的问题,Python 将所有的库全都装进了我的用户目录下。但 Python 和 R 不同,R 没有用户安装和全局安装这样的说法。那么这是什么原因造成的呢?

此时如果我们打开 R 语言原生的 GUI,执行相同的命令:

> .libPaths()
[1] "D:/Program Files/R/R-4.4.0/library"

会发现路径已经被变更。

究其原因,是因为 D:\Program Files 这个路径虽然不在系统盘(C盘)内,但仍然被 Windows 视作程序安装目录 C:\Program Files\ 的一个延伸,属于系统目录的一部分,因此是需要管理员权限的。而且,程序和程序之间相互的目录访问都需要管理员权限。由于直接启动 RStdio 没有管理员权限,无法加载 D:\Program Files\R\R-4.4.0\etc\Rprofile.site,从而导致配置没有生效。

最终的解决方案

折中方案

首先用下面的脚本删除所有除了基本包之外的 R 语言包:

# 获取当前的库路径列表
current_lib_paths <- .libPaths()

# 目标路径
target_path <- "D:/Program Files/R/R-4.4.0/library"

# 调整库路径顺序,使目标路径位于首位
new_lib_paths <- c(target_path, current_lib_paths[current_lib_paths != target_path])

# 设置新的库路径
.libPaths(new_lib_paths)

# 检查新的库路径
.libPaths()

每次启动 RStdio 都右键桌面或者开始菜单的快捷方式,然后选择“以管理员身份运行”。

根治方案

重装 R,安装到 D 盘根目录下D:\R\,而不是程序目录 D:\Program Files\R\

其他在安装过程中需要注意的问题

R 语言在安装之后并不会自己添加环境变量,所以要手动把 R 安装路径下的 bin 目录追加到系统环境变量。

相关文章:

  • 设计模式-原型模式
  • Java(八)——String类
  • Redis 哨兵(Sentinel)
  • 并发——线程
  • Linux-struct list_head的快速使用
  • 流媒体内网穿透/组网/视频协议转换EasyNTS上云网关如何更改密码?
  • 阿里云部署nodejs
  • 2024蓝桥杯国赛C++研究生组游记+个人题解
  • allure测试报告用例数和 pytest执行用例数不相同问题
  • 【Java】面向对象的三大特征:封装、继承、多态
  • 最低要求条件下的商环定义
  • 【2.文件和目录相关(下)】
  • 网络运维的重要性
  • # Java 基础面试300题 (51-80)
  • 互联网政务应用安全管理规定:使用安全连接方式访问
  • [AI OpenAI] 通过隐蔽影响行动破坏AI的欺骗性使用
  • php TP8 阿里云短信服务SDKV 2.0(跳大坑)
  • 远程连接服务器
  • Kotlin 泛型
  • cocos creator 3.x实现手机虚拟操作杆
  • 韩国执政党总统候选人更换方案被否决,金文洙候选人资格即刻恢复
  • 贵州省总工会党组成员、副主席梁伟接受审查调查
  • 重庆大学通报本科生发14篇SCI论文处理结果
  • 道指跌逾100点,特斯拉涨近5%
  • 中俄就应对美加征所谓“对等关税”等问题进行深入交流
  • 央行谈MLF:逐步退出政策利率属性回归流动性投放工具