2013-01-25 59 views
5

在Windows上安裝Rcpp軟件包時,需要確保軟件包DLL已卸載,否則複製新DLL時會出現「權限被拒絕」錯誤。這意味着在每次重新編譯時重新啓動R,這非常煩人。有沒有什麼辦法可以在不殺死R的情況下卸載包DLL?可以在不重新啓動R的情況下卸載Rcpp包DLL嗎?

我試過detach("package:my_package", force=TRUE)命令,但它並沒有卸載DLL。

回答

3

如果你想這樣做,你的主要研發會話(不使用RStudio,這使得重新安裝包,重裝[R很容易),你可以使用devtools:

library(devtools) 
load_all("path/to/my/package") 

除其他事項外,load_all會重新加載所有R代碼,然後重新編譯並重新連接DLL。

4

我想你需要運行library.dynam.unload來卸載DLL。

6

意見分這個。我經常更喜歡在我的主R會話之外運行構建和測試,只需將R CMD INSTALLRscript(或Linux,r來自littler的調用)鏈接起來以測試新構建。如果您使用R CMD INSTALL ...的適當選項來跳過可能需要額外時間的零件,則您可以快速週轉並確保您獲得全新構建。

如果你想通過點擊一個按鈕來實現相同的行爲,RStudio也提供它。

相關問題