2016-12-29 43 views
0

我正在使用devtools構建R包。我已經構建了一個包含一些我想包含的函數的包。我想在啓動時加載包和文檔。我的包文件位於的位置:使用devtools構建R包錯誤::文檔

'~/global/Rcode/Startup Package' 

我.Rprofile文件看起來像這樣:

.First <- function(){ 
    library(devtools) 
    location <- '~/global/Rcode/Startup Package' 
    document(location) 
} 

但是當我打開R,從包中功能加載,但文件是不是。

如果我運行相同的代碼行之後啓動自己,即:

library(devtools) 
location <- '~/global/Rcode/Startup Package' 
document(location) 

那麼一切工程和包裝正確的文件。這似乎是一個相當奇怪的錯誤!

(作爲一個部分修復,我可以運行

install(location) 

,並把它像一個正常的[R包,一切工作正常,但是這需要時間,我打算更新包了很多,真的不希望有這每一次運行,尤其是在devtools選項應該工作。)

+0

我覺得你誤解了'document'函數的用途。它旨在將原始R代碼中的roxygen註釋轉換爲.Rd文檔。 –

+0

是的,我意識到,但是,如果你的包中有一個函數:f。你在你的包上實現了devtools :: document,然後如果你這樣做,那麼你應該得到f的文檔。我的觀點是,如果你通過一個看起來奇怪的啓動文件來做到這一點是行不通的。 –

回答

4

確保utils加載devtools之前加載,否則沒有help功能devtools覆蓋。

隨着.Rprofile:

.First = function(){ 
library(utils) 
library(devtools) 
document("./foo") 
} 

則R啓動雲:

[stuff] 
Type 'q()' to quit R. 

Updating foo documentation 
Loading foo 

而且helpdevtools版本:

> environment(help) 
<environment: namespace:devtools> 

刪除library(utils),你會看到的幫助函數是utils中找不到你的packag的那個e文件。

相關問題