How to use a platform specific package in my R function

Viewed 99

my R package has a function (my_func) that uses function(bar) from another package (foo) which only available on Unix. So I write my code this way, following the suggested packages in Writing R extension:

my_func = function(){
....
  if (requireNamespace("foo", quietly = TRUE)) {
    foo::bar(..) # also tried bar(...)
  } else {
    # do something else without `bar`
  }
...
}

However, I keep getting such warning message when I run R CMD check:

'loadNamespace' or 'requireNamespace' call not declared from: foo

Is there any way to use platform specific packages without gives such warnings? I tried to include foo in the Description file and the warning disappeared, but then the package cannot be installed on windows because foo is not available for the win.

1 Answers
Related