2017-06-14 17 views
4

我想檢查我寫的包。當我點擊在RStudio的檢查按鈕,我收到以下消息:在RStudio中檢查R包:錯誤'文件'不存在(工作目錄不適應項目)

==> devtools::check(document = FALSE) 

Setting env vars -------------------------------------------------------------- 
CFLAGS : -Wall -pedantic 
CXXFLAGS: -Wall -pedantic 
Building BBkUtils ------------------------------------------------------------- 
"C:/PROGRA~1/R/bin/x64/R" --no-site-file --no-environ --no-save --no-restore \ 
    --quiet CMD build "U:\Eigene Dateien\R\BBkUtils" --no-resave-data \ 
    --no-manual 

* checking for file 'U:\Eigene Dateien\R\BBkUtils/DESCRIPTION' ... OK 
* preparing 'BBkUtils': 
* checking DESCRIPTION meta-information ... OK 
* checking for LF line-endings in source and make files 
* checking for empty or unneeded directories 
* building 'BBkUtils_0.1.0.tar.gz' 

Setting env vars -------------------------------------------------------------- 
_R_CHECK_CRAN_INCOMING_ : FALSE 
_R_CHECK_FORCE_SUGGESTS_: FALSE 
Checking BBkUtils ------------------------------------------------------------- 
"C:/PROGRA~1/R/bin/x64/R" --no-site-file --no-environ --no-save --no-restore \ 
    --quiet CMD check \ 
    "C:\Users\s1504gl\AppData\Local\Temp\RtmpSyMuXs/BBkUtils_0.1.0.tar.gz" \ 
    --as-cran --timings --no-manual 

Warning: 'C:\Users\s1504gl\AppData\Local\Temp\RtmpSyMuXs/BBkUtils_0.1.0.tar.gz' is neither a file nor directory, skipping 

Error: Check failed: 'U:\Eigene Dateien\R/BBkUtils.Rcheck' doesn't exist 
Execution halted 

Exited with status 1. 

,如果我從R控制檯啓動devtools::check()此行爲不會發生改變。

有趣的是,我可以建立沒有任何問題的包(沒有檢查它之前)。從上面的消息中也可以看出這一點。但由於某種原因,在上述臨時文件夾中找不到該包(實際上不存在,因爲它在消息中說明)。

在檢查過程中,.tar.gz文件在項目根目錄上創建一個文件夾級別。我能以某種方式告訴devtools::check()在哪裏查找.tar.gz文件?


編輯1:問題的工作目錄

我盤算了一下,工作目錄並不適應項目。我仍然U:\Eigene Dateien\R,即使它應該是U:\Eigene Dateien\R\BBkUtils。這發生在我所有的項目中。對此有何建議?


編輯2:如何創建項目

起初,我創建使用新建項目嚮導項目。之後,我將該項目移至另一個文件夾。但我不認爲,這是由於我在使用嚮導創建新軟件包時觀察到相同的錯誤而導致的問題。

我也嘗試將項目根目錄重置爲正確的文件夾,但項目根目錄項目根目錄保留。

+0

Rcheck和源代碼包最終從Project項目結束了一個文件夾,這是正常的。問題更可能是由您的操作系統造成的。您的輸出是我期望的100%,除了指出在那裏提到的臨時目錄中找不到.tar.gz文件的錯誤。由於某些設置,R可能沒有寫入這些臨時文件夾的權限。 –

+0

一些問題可以檢查我是否可以重現:您是否使用New Project嚮導來創建包? (可能不會,因爲這會把wd放在包裹的根部,而不是一個)。您的軟件包根目錄是否在工具>項目選項>構建工具中正確設置?如果它顯示「Project root」,請單擊「瀏覽」以檢查它是否確實是正確的。你可以運行下面的代碼嗎? 'mytemp < - tempfile(); writeLines( 「一」,MYTEMP); readLines(mytemp)' –

+0

我更新了問題以包含一些問題的答案。我將在星期一發布的代碼給你結果,當我回到辦公室時。 –

回答

0

我終於從我的同事那裏得到了這個文件中有一個函數.First的信息,它將工作目錄設置爲U:\Eigene Dateien\R

刪除相應的行並重新啓動R解決了我的問題。

相關問題