![](/img/trans.png)
[英]Installing packages in R: installing “mediation” fails despite dependencies being up-to-date
[英]R: combining mutiple library locations with most up-to-date packages
問題:如何將所有最新的R軟件包移動到一個簡單的位置,R(和其他所有內容)將從現在開始使用我的軟件包?
我一直在玩Ubuntu 10.04上的R,使用各種RGedit,RCmdr,R shell和RStudio。 同時,我已經安裝了軟件包,更新了軟件包,並通過apt,synaptic,install.packages()等重新更新了軟件包...這顯然意味着這些軟件包隨處可見,並且(偶爾會拋出sudo)不同權限。
目前我有不同版本的不同(和重復)包:
/home/me/R/i486-pc-linux-gnu-library/2.10
/home/me/R/i486-pc-linux-gnu-library/2.14
/home/me/R/i486-pc-linux-gnu-library/
/usr/local/lib/R/site-library
/usr/lib/R/site-library
/usr/lib/R/library
首先 - 我是單個用戶,在一台機器上 - 我不想要多個庫位置,我只是希望它能夠工作。
第二 - 我的連接速度非常慢,並且不能一直重復下載包。
那么 - 有一種簡單的方法可以將所有這些庫位置合並到一個簡單的位置嗎? 我可以將文件夾復制過來嗎?
我如何在具體情況下設置它並且始終是R相關查找和更新包的地方?
這令人抓狂。
謝謝你的幫助。
是的,它幾乎可以復制文件夾。 但是沒有NAMESPACE文件的2.14之前的軟件包可能無法在R 2.14中運行,其中所有軟件包都必須具有命名空間...
如果您有多個版本,您需要手動確保只復制每個軟件包的最新版本...
如果鍵入.libPaths()
,它將告訴您R查找包的位置。 列表中的第一個是通常安裝新軟件包的位置。 我懷疑.libPaths()
可能會從RStudio和Rcmd等返回不同的東西。
拼湊出各種信息之后:R包目錄組織的完整白痴指南:
NB1 - 這是我對Ubuntu的體驗 - 你的里程可能會有所不同NB2 - 我是一台機器上的單個用戶,我喜歡簡單的事情。
Ubuntu通過apt或synaptic安裝任何東西:
/usr/lib/R/site-library
/usr/lib/R/library
目錄。 默認的vanilla R安裝將在此處嘗試安裝包:
/usr/local/lib/R/site-library
由於這些是系統目錄,因此用戶沒有寫入權限,這取決於您與R交互的方式,您可能會被友好提示 - “嘿好友 - 我們不能寫在那里,您希望我們將您的包裹放入你的主目錄?“ 這似乎無辜和合理......假設你永遠不會改變你的GUI或你的工作環境。 如果這樣做,新的GUI /環境可能不會查找放置包的目錄,因此無法找到它們。 (大多數接口都有一種方法可以指出你的個人軟件包庫,但是誰想要在配置文件中搞砸?)
在Ubuntu上使用默認安裝設置,對我來說似乎是最好的做法(並且可以隨意糾正我)是從基本的R shell進行任何包管理,如sudo: > sudo R
並從那里你的install.packages()
伏都教。 這似乎將包放在usr/local/lib/R/site-library
目錄中。
同時, update.packages()
將更新/usr/lib/R/site-library
和usr/lib/R/library
目錄中的文件,以及usr/local/lib/R/site-library
(至於usr/lib/R/
division,它看起來像/library/
有核心包,而/site-library/
包含任何添加的東西,假設它們是由apt安裝的......)
以前安裝和錯誤位置的任何軟件包都可以通過移動目錄(感謝@Tommy)移動到/usr/local/lib/R/site-library
目錄(假設你是sudo
ing),但是作為usr/lib/R/
由apt控制 - 最好不要在那里添加或減去任何東西......
呼。 無論如何 - 簡單,用簡單的語言。 謝謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.