我有幾個unix服務器使用安裝在共享R庫文件夾上的R包。這個包從這個共享文件夾延遲加載(這是默認的)。懶惰加載的R包的更新
現在我想更新軟件包:
1)是否有可能(和清潔)這樣做,無需關閉所有的R實例?
2)更確切地說,我關注以下內容:
2)),我從用戶界面獲得當我嘗試安裝一個已加載的包的警告:
2)B) 從https://cran.r-project.org/doc/manuals/r-release/R-ints.html#Lazy-loading,
當加載一個軟件包/命名空間,它使用它,包/命名空間環境中填充承諾爲所有的命名對象:當這些承諾進行評估,他們從數據庫加載的實際代碼。
這是否意味着,在做每個對象的實際評價時(將R實例將再次從庫文件夾讀在這種情況下,這意味着我需要在更新之前,要麼禁用延遲加載,或者關閉所有的R實例包)
3)有維護服務器,運行腳本的時候,網絡上的R程序包,而無需通過一個到每個服務器脫機一個放)
感謝的另一種方式你輸入
這是一個_RStudio_禮貌消息。你需要用RStudio來完成。它基本上告訴你,_已經加載的sessions_不能被刷新。如果你想要剛剛升級的軟件包版本,你需要重新啓動(以確保獲得它們)。 –
我認爲你讀的錯誤信息太多 - 你不應該安裝當前加載/附加在當前會話中的軟件包。 – hadley
我仍然不同意@Hadley剛纔所說的,因爲a)當然你可以並且應該(在合理的操作系統上,除了Windows之外),但是b)不應該期望已經運行的會話被改變。您無法更改正在運行的R流程。句號。但是有些操作系統允許你升級一個軟件包,即使它被加載了(好的操作系統),有些操作系統也不會(壞的操作系統)。我想你現在是哪個。 –