簡體   English   中英

無法在 Windows 7 上更新默認庫中的 R 包

[英]Unable to update R packages in default library on Windows 7

我正在嘗試使用update.packages更新 RGui(64 位)上的軟件包,但收到以下消息:

Warning in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  :
  'lib = "C:/PROGRA~1/R/R-212~1.1/library"' is not writable
Error in install.packages(update[instlib == l, "Package"], l, contriburl = contriburl,  : 
  unable to install packages

我查看了資源管理器中的庫文件夾,它已設置為只讀,因此我將其刪除。 但是,當我執行此操作后立即再次檢查屬性時,它會重新出現。 安裝新軟件包不受影響,因為它們在我的用戶配置文件中有一個單獨的文件夾。

有什么技巧可以讓它發揮作用嗎?

它發生在我身上,在 Gui 項目的“R”中編碼數小時后,我感到很無聊,因為當界面為某種類型的單詞(命令)使用顏色時,閱讀代碼要容易得多。 好吧,我決定安裝 RStudio,但很快我就遇到了包安裝問題。 這似乎發生在 Windows 7 中。我用來解決這個問題的方法是:

  1. C:\\Program Files\\R - 這是包含“R”的文件夾而不是 RStudio 文件夾!
  2. 右鍵單擊屬性。
  3. 安全。
  4. 在“組或用戶名”中選擇您的姓名
  5. 點擊“編輯”
  6. 選擇“完全控制”
  7. 應用並單擊確定

完成此步驟后,您應該可以安裝所有軟件包:-)

通常您需要管理員權限來更改程序文件中的內容。 嘗試以管理員身份運行 RGui。

嘗試

install.packages('package_name', lib='folder')

您可以指定一個用於安裝庫的文件夾,您對其具有寫入權限。

希望這可以幫助

從 C:\\Program Files 卸載並重新安裝到 C:\\R 對我有用

[請參閱 mdsumner 的評論和此處找到的 Windows 常見問題解答]

“...Vista/Windows 7/8/Server 2008/2012 的用戶使用具有管理員權限的帳戶為單個用戶安裝時應考慮安裝到非系統區域(例如 C:\\R)

我有這個確切的問題,只是為自己改變了它。 也就是說,我導航到 C:/PROGRAM/R,然后右鍵單擊 R 以顯示屬性。 轉到安全選項卡,單擊要為其添加權限的組/用戶。 對我來說,這是 USER,然后單擊 EDIT,然后選擇未選中的框以允許控制。 我必須專門為每個用戶執行此操作(當然,我一直以管理員身份運行)。 單擊應用/確定,一切都很好。 我現在可以更新/安裝/新庫以及您為這台計算機准備了什么,而無需以管理員身份運行 R。

我有 BitDefender 2018,不得不禁用“安全文件”和“防火牆”。

沒有更多信息,我的第一個猜測是您沒有足夠的權限寫入 R 站點庫文件夾。 通常,R 會提示創建要安裝到的用戶 lib 文件夾,但這在 Windows Vista/Windows 7 下可能不可靠。

嘗試:

dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)

在 R 控制台中。 庫現在應該安裝到 /Users/"you"/R/win-library/xy,您對其具有適當的權限。

首先嘗試使用此命令選擇離您更近的 cranmirror 位置

chooseCRANmirror()

然后嘗試安裝該軟件包。 當我收到有關安裝“devtools”的警告時,此命令對我有用。

我在 Windows 10 中也遇到過這種問題,然后我在 Bitdefender 2018 中禁用了“安全文件”。它對我有用

我最近有類似的錯誤。 以管理員身份運行 RStudio 不起作用。 更改C:/Programs/R上的權限有點笨拙,因為您必須為每個用戶重復此操作。

我的解決方案是更改 R 的庫路徑如下

  1. 在 R 控制台中,鍵入.libPaths() 你會看到這樣的東西,

    "Path/to/user/R/win-library/xx" "C:/Programs/R/Rx.xx"

    存在這兩個路徑是因為您在安裝過程中定義了用戶特定的 lib 路徑。 將 xxx 替換為您的 R 版本。

  2. 現在將 lib 路徑設置為 Programs 目錄

    .libPaths = "C:/Programs/R/Rx.xx"

現在您可以install.packages()update.packages()

有時,您的防病毒軟件也可能會阻止該應用程序。 如果防病毒軟件已阻止該應用程序,請取消阻止該應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM