乐趣区

关于r:解决Rstudio启动时报错normalizePath文件名目录名或卷标语法不正确

问题形容

最近从新装了 win11 零碎,也重新配置了 R 和 Rstudio 环境,然而发现每次关上 Rstudio 会报错:

Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
  path[1]="C:/Users/xxx/OneDrive/??": 文件名、目录名或卷标语法不正确。

这个问题在我间接运行 R.exe (Rgui.exe)时候并不会呈现。通过一番钻研,是因为 R.exe 能够反对中文门路,然而 Rstudio 不反对。在装置 R 的时候,R 默认把一些零碎环境变量指定成了 OneDrive 下的“文档”文件夹中,导致 Rstudio 无奈辨认。能够用如下办法验证:

> Sys.getenv()

会看到有几个变量被指定成了中文门路:

# R.exe (Rgui.exe)中:HOME                    C:\Users\xxx\OneDrive\ 文档
R_USER                  C:\Users\xxx\OneDrive\ 文档

# Rstudio 中:HOME                 C:/Users/linhe/OneDrive/??
R_USER               C:/Users/linhe/OneDrive/??

解决方案

经钻研,次要是 R_USER 这个变量出了问题。在 windows 零碎变量中增加一个新的 R_USER 变量即可解决问题。

进入 此电脑 右键 ->属性 -> 高级零碎设置 -> 环境变量...->零碎变量 下点击 新建...-> 变量名: R_USER; 变量值: 你轻易指定一个门路
截图如下:

确定后,重启 Rstudio,世界都喧扰了!

网上的有效方法

包含但不限于:

  1. 在 R 装置门路下的 \R\R-4.2.1\library\base\R\Rprofile 增加R_USER="D:\\R"
  2. 在 R 工作目录下新建 .Rprofile 文件并增加.libPaths("C:/R/win-library/3.3")
  3. 在以上两个文件中增加 R_LIBS_SITE="C:\\Program Files\\R\\R-4.1.1\\library"
    以上都试过了,对我有效😒。

帮到你的话给我个赞哦:)

退出移动版