我的R軟件包具有使用另一個軟件包(foo
)中的函數(bar
)的函數(my_func
),該函數只能在Unix上使用。所以,我寫我的代碼這樣,繼suggested packages in Writing R extension:如何在我的R功能中使用特定於平臺的軟件包
my_func = function(){
....
if (requireNamespace("foo", quietly = TRUE)) {
foo::bar(..) # also tried bar(...)
} else {
# do something else without `bar`
}
...
}
不過,我不斷收到這樣的警告信息,當我運行[R CMD檢查:
「loadNamespace」或「requireNamespace」呼叫不聲明: foo
有什麼方法可以使用特定於平臺的軟件包而不會發出這樣的警告?我試圖在描述文件中包含foo
,並且警告消失了,但是因爲foo
不適用於win,所以無法在Windows上安裝該軟件包。
爲什麼要在Windows上安裝該軟件包,如果它只需要unix中的函數? –
@qqq因爲否則,bioconductor不會接受它。 –