1

问题描述

最近重新装了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; 变量值: 你随便指定一个路径
截图如下:
高级系统设置
系统变量
新建系统变量
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"
    以上都试过了,对我无效😒。

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


SilentGene
103 声望14 粉丝

喜欢搞研究。钻研一个东西,然后获得其常人不熟知的内容,这会给我极大的成就感。如果再能用我钻研出的知识帮助到别人,那么这会让我高兴一整天。


引用和评论

0 条评论