2012-07-24 83 views
1

根據文檔編寫R擴展ss 1.3「R CMD檢查和R CMD生成運行R與--vanilla,所以用戶的啓動文件都不讀取」。使用 - 與R CMD版本

這似乎沒有發生在我的安裝上。我發現我的R版本(Mac上的2.15.1)在我的.Rprofile中加載了軟件包 - 我確信這一點,因爲我設法通過將library(hobblegobble)添加到我的.Rprofile來可靠地分解它。

做這件事嗎?如果是這樣,我應該總是喜歡用

R --vanilla CMD build 

感謝

+0

我把我的學習經歷,包括這個SO回覆,轉化爲[blog](http://ricardianambivalence.com/2012/07/28/creating-an-r-package-in-10-mins/)。非常感謝。 – ricardo 2012-07-28 13:40:23

回答

3

建立包可以使用,如果你正在試圖建立(或安裝)您.Rprofile負載包無論是R --vanilla CMD build myPackageR --vanilla CMD INSTALL --build myPackage

我知道的使用--vanilla唯一的缺點是,終端的完成(即具有當你點擊標籤包目錄名完成了你)當你鍵入路徑到軟件包目錄可能無法正常工作。

但是,更好的解決方案可能是將if (interactive()) {}包裝在.Rprofile中的代碼中,而您只希望在交互式會話中運行該代碼。例如libraryrequire調用。

在你的情況下,如果你的.Rprofile有if (interactive()) library(hobblegobble)你不需要使用--vanilla

+0

謝謝 - 這是我的第一個包,所以我完全在黑暗中。我也遇到了'R CMD build'失敗的問題,因爲我的'.Rprofile'試圖加載我正在嘗試重新構建的包。這就是讓我覺得'--vanilla'可能是做到這一點的適當方式。 – ricardo 2012-07-24 21:38:15

+0

有趣的是_Writing R Extensions_說你不應該使用'--vanilla';像你一樣,這並不是我的經驗。 – GSee 2012-07-24 21:41:18

+1

@ricardo,在你的.Rprofile中,使用'if(interactive())library(hobblegobble)'。這樣'R CMD build'將不會加載它。感謝Dirk在[本次聊天]中的建議(http://chat.stackoverflow.com/transcript/message/5056884#5056884) – GSee 2012-08-23 16:51:56