问题形容
最近从新装了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,世界都喧扰了!
网上的有效方法
包含但不限于:
- 在R装置门路下的
\R\R-4.2.1\library\base\R\Rprofile
增加R_USER="D:\\R"
- 在R工作目录下新建
.Rprofile
文件并增加.libPaths("C:/R/win-library/3.3")
- 在以上两个文件中增加
R_LIBS_SITE="C:\\Program Files\\R\\R-4.1.1\\library"
以上都试过了,对我有效。
帮到你的话给我个赞哦:)