博客 / 詳情

返回

解決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; 變量值: 你隨便指定一個路徑
截圖如下:
高級系統設置
系統變量
新建系統變量
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"
    以上都試過了,對我無效😒。

幫到你的話給我個贊哦:)

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.