R 語言入門學習筆記:軟體安裝踩坑記錄——刪除所有包以及徹底解決庫包被安裝到 C 盤使用者目錄下的問題,以及一些其他需要注意的點

多玩我的世界盒子發表於2024-05-29

目錄
  • R 語言入門學習筆記:軟體安裝踩坑記錄——刪除所有包以及徹底解決庫包被安裝到 C 盤使用者目錄下的問題,以及一些其他需要注意的點
    • 軟體版本及環境
    • 遇到的問題描述
    • 問題的分析和探究
    • 最終的解決方案
      • 折中方案
      • 根治方案
    • 其他在安裝過程中需要注意的問題

R 語言入門學習筆記:軟體安裝踩坑記錄——刪除所有包以及徹底解決庫包被安裝到 C 盤使用者目錄下的問題,以及一些其他需要注意的點

最近剛剛開始學習 R 語言,想要來個速通,結果第一天就踩坑了。寫個筆記放在這裡記錄一下。

軟體版本及環境

  • 作業系統:Windows 10 22H2

  • R 版本:4.4.0,安裝路徑 D:\Program Files\R\R-4.4.0

  • RStdio 版本:RStudio-2024.04.1-748,安裝路徑 D:\Program Files\RStdio

遇到的問題描述

在 R 中安裝庫包:

install.packages("dplyr")

結果發現所有的包都被安裝到 C 盤使用者目錄下面。我的 C 盤本來也沒多大,本來容量就紅盤。這樣一安裝就快爆盤了:

將程式包安裝入‘C:/Users/asus/AppData/Local/R/win-library/4.4’
(因為‘lib’沒有被指定)
還安裝依賴關係‘fansi’, ‘utf8’, ‘pkgconfig’, ‘cli’, ‘generics’, ‘glue’, ‘lifecycle’, ‘magrittr’, ‘pillar’, ‘R6’, ‘tibble’, ‘tidyselect’, ‘vctrs’

如果遇到了相同的問題、不想看中間的細節的朋友可以直接拉到最底下看解決方案。

問題的分析和探究

使用 R 語言命令 .libPaths() 可以檢視預設的 R 語言包的安裝路徑,發現輸出結果為:

> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/library"

為了解決這個問題,根據 Chat 姐提供的幫助,修改 R 安裝目錄下的配置檔案 Rprofile.site,配置檔案的完整路徑位於:D:\Program Files\R\R-4.4.0\etc\Rprofile.site。編輯這個檔案需要管理員許可權,因此可以使用下面的方法:

  1. 在 Windows 開始選單中找到 Windows 附件 -> 記事本,選擇“以管理員身份執行”。

  2. 在管理員許可權下的記事本里面開啟 D:\Program Files\R\R-4.4.0\etc\Rprofile.site

因為我的電腦上安裝過 gsudo 和 MSYS2 Bash 以及 Vim,所以我可以直接 cd /d/Program Files/*/*/etc/ 然後 sudo vim ./Rprofile.site

開啟檔案後在檔案中新增如下的 R 命令:
.libPaths("D:/Program Files/R/R-4.4.0/library")

從理論上說,這個命令會在每次 R 語言啟動的時候都設定 R 的語言包的安裝路徑為 "D:/Program Files/R/R-4.4.0/library" 裝到 D 盤。但是實際上,我隨即重啟了 RStdio,再次執行命令:

> .libPaths()
[1] "C:/Users/asus/AppData/Local/R/win-library/4.4"
[2] "D:/Program Files/R/R-4.4.0/librar

路徑並沒有被修改。

這讓我想起曾經初次配置 Python 的時候也遇到過類似的問題,Python 將所有的庫全都裝進了我的使用者目錄下。但 Python 和 R 不同,R 沒有使用者安裝和全域性安裝這樣的說法。那麼這是什麼原因造成的呢?

此時如果我們開啟 R 語言原生的 GUI,執行相同的命令:

> .libPaths()
[1] "D:/Program Files/R/R-4.4.0/library"

會發現路徑已經被變更。

究其原因,是因為 D:\Program Files 這個路徑雖然不在系統盤(C盤)內,但仍然被 Windows 視作程式安裝目錄 C:\Program Files\ 的一個延伸,屬於系統目錄的一部分,因此是需要管理員許可權的。而且,程式和程式之間相互的目錄訪問都需要管理員許可權。由於直接啟動 RStdio 沒有管理員許可權,無法載入 D:\Program Files\R\R-4.4.0\etc\Rprofile.site,從而導致配置沒有生效。

最終的解決方案

折中方案

每次啟動 RStdio 都右鍵桌面或者開始選單的快捷方式,然後選擇“以管理員身份執行”。

根治方案

重灌 R,安裝到 D 盤根目錄下D:\R\,而不是程式目錄 D:\Program Files\R\

其他在安裝過程中需要注意的問題

R 語言在安裝之後並不會自己新增環境變數,所以要手動把 R 安裝路徑下的 bin 目錄追加到系統環境變數。

相關文章