簡體   English   中英

更改工作目錄在本地軟件包測試(testthat)中失敗,但在travis上失敗

[英]Changing working directory is failing in local package tests (testthat) but not on travis

我的R包中有一個函數,需要編譯位於pkg/extdata的外部庫。 由於它是從某個目錄進行編譯的,因此我使用setwd()轉到該目錄,並在安裝后返回到先前保存的目錄。 奇怪的是,此函數的測試(使用testthat)在本地失敗,但在travis ciubuntu:16.04容器/ VM(與我的相同)上未失敗。 要查找和更改dir(在extdata ),請執行以下操作:

pkg_source <- system.file('extdata/pkg_lib', "src", package = "pkg") odir <- getwd() setwd(pkg_source)

輸出錯誤為:

test_it.R:4: failure: Test install_it `install_it()` threw an error. Message: cannot change working directory Class: simpleError/error/condition

我的想法是,安裝軟件包的文件夾有一些限制,但是如果您認為不需要sudo權限並且服務器上的文件夾將順利運行,這是不合邏輯的。

如果有幫助,我的lib路徑就是.libPaths() [1] "/home/uuuser/R/x86_64-pc-linux-gnu-library/3.4" "/usr/local/lib/R/site-library" "/usr/lib/R/site-library" "/usr/lib/R/library"

通常,您不必更改軟件包中的工作目錄。 您是否可以僅通過處理從現有文件位置加載或獲取的包數據來避免該錯誤?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM