簡體   English   中英

R包版本依賴

[英]R package versioned dependencies

我正在更新一個 R 包並且有兩個特定的依賴項

httr (>= 0.6.1),
jsonlite (>= 0.9.14)

如果不滿足這些條件,包將無法運行。 我可以看到,如果我將它們都放在 Depends 中,這些版本限制將由 R 強制執行。如果我將它們放在 Imports 下,則它們似乎不是。 不需要將包放在 Depends 中,我不需要附加它們,我知道這樣做是不好的做法。

是否預計 Imports 不會強制執行版本限制? 將包留在 Imports 中並讓 .onLoad 函數檢查過時的依賴項是否符合猶太教規?

編寫 R 擴展第 1.1.3 節說

'Imports' 字段 ... 可以指定版本要求,並在加載命名空間時進行檢查(因為 R >= 3.0.0)。

所以聽起來缺乏版本檢查是一個錯誤,應該報告給 R-devel郵件列表錯誤跟蹤器

嗯,我認為在加載命名空間時會強制執行檢查,例如,NAMESPACE 文件中的import(httr) 如果您的代碼要使用httr::foo()而沒有從 httr 顯式導入,那么將不會進行檢查,或者可能在運行時進行檢查。 因此,即使與文檔一致(“在加載命名空間時檢查”),這似乎也是一個錯誤。

暫無
暫無

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

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