問題描述
最近重新裝了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"
以上都試過了,對我無效😒。
幫到你的話給我個贊哦:)