[R-pkg-devel] Error in loadNamespace(x) : there is no package called 'formatR'

Henrik Bengtsson henr|k@bengt@@on @end|ng |rom gm@||@com
Fri Nov 13 19:09:32 CET 2020


I'm quite sure you want to use the following:

Suggests: knitr, rmarkdown, formatR
VignetteBuilder: knitr

Here are the details.  For the 'VignetteBuilder' field, you want to
put all packages that provide the **vignette engines** you are using.
For example, if your package vignettes use either of

%\VignetteEngine{knitr::knitr}
%\VignetteEngine{knitr::rmarkdown}

your package is using a vignette engine from the 'knitr' package, so
you need to specify:

VignetteBuilder: knitr

Next, with 'knitr' listed in 'VignetteBuilder', you need to make sure
'knitr' is listed in either 'Depends' or 'Suggests' (or possibly
'Imports' - not sure).  If 'knitr' is only used for your vignettes, it
is sufficient to specify it under 'Suggests', which is also the most
common way to use it, i.e.

Suggests: knitr

The above settles the **vignette-engine package**.  Then your vignette
engine might depend on additional packages.  Your package needs to
depend on those too, typically also listed under 'Suggests'.  For
example, when you use %\VignetteEngine{knitr::rmarkdown}, that
vignette engine requires the 'rmarkdown' package (can be guessed from
them name but reading the docs is the only way to be sure - I think
there's work in 'tools' to improve on this).    So, this means you
need to use:

Suggests: knitr, rmarkdown

Finally, if your vignettes make use of additional, optional features
from other packages, you need to make sure your package depends on
those too.  Since you make use of 'formatR' features, you need to add
that to Suggests as well;

Suggests: knitr, rmarkdown, formatR

/Henrik

PS. Vignettes are a bit of special creatures. Their dependencies are
only needed during 'R CMD build' and 'R CMD check', which most
end-users never perform. I think it could be favorable if we could
declare vignette dependencies separate from install/run-time
dependencies, e.g.

VignetteBuilder: knitr
VignetteDepends: rmarkdown, formatR

It should make the above process a bit clearer.  It would also make it
clear to those who are only interested in viewing vignettes, but have
no interest in rebuilding vignettes, what packages they need to
install in order to access all of the package's functions.  Just an
idea.

On Fri, Nov 13, 2020 at 7:55 AM Joseph Park <JosephPark using ieee.org> wrote:
>
> Thank you.
>
> On 11/13/20 10:31 AM, Gábor Csárdi wrote:
> > >From WRE:
> >
> > "Note that if, for example, a vignette has engine ‘knitr::rmarkdown’,
> > then knitr provides the engine but both knitr and rmarkdown are needed
> > for using it, so both these packages need to be in the
> > ‘VignetteBuilder’ field and at least suggested (as rmarkdown is only
> > suggested by knitr, and hence not available automatically along with
> > it). Many packages using knitr also need the package formatR which it
> > suggests and so the user package needs to do so too and include this
> > in ‘VignetteBuilder’."
> >
> > So I think you need
> >
> > Suggests: knitr, rmarkdown, formatR
> > VignetteBuilder: knitr, rmarkdown, formatR
> >
> > On Fri, Nov 13, 2020 at 3:23 PM Joseph Park <JosephPark using ieee.org> wrote:
> >> Ah, yes... I see it now in Writing R Extensions.  Apologies for the
> >> oversight.
> >>
> >> Regarding rmarkdown, is it redundant to include rmarkdown in
> >> VignetteBuilder if it is in Suggests, or is perhaps needed in the build
> >> config as a separate entity?
> >>
> >> e.g:
> >>
> >> Suggests: knitr, rmarkdown
> >> VignetteBuilder: knitr, formatR
> >>
> >> or
> >>
> >> Suggests: knitr, rmarkdown
> >> VignetteBuilder: knitr, rmarkdown, formatR
> >>
> >> Thank you.
> >>
> >> J Park
> >>
> >> On 11/13/20 8:58 AM, Gábor Csárdi wrote:
> >>> I think you need to Suggest the formatR package, because your
> >>> vignettes use it. From 'Writing R extensions':
> >>>
> >>> "Many packages using knitr also need the package formatR which it
> >>> suggests and so the user package needs to do so too and include this
> >>> in ‘VignetteBuilder’."
> >>>
> >>> Gabor
> >>>
> >>> On Fri, Nov 13, 2020 at 1:49 PM Joseph Park <JosephPark using ieee.org> wrote:
> >>>> Dear r-package-devel,
> >>>>
> >>>> The rEDM package is failing the automated check, as noted here:
> >>>>
> >>>> https://win-builder.r-project.org/incoming_pretest/rEDM_1.7.0_20201113_131811/Windows/00check.log
> >>>>
> >>>> When running rhub::check_for_cran(), disk file errors were reported.
> >>>>
> >>>> The automated check seems to be failing with:
> >>>>
> >>>> Error in loadNamespace(x) : there is no package called 'formatR'
> >>>>
> >>>> This package does not explicitly use formatR:
> >>>>
> >>>> Imports: methods, Rcpp (>= 1.0.1)
> >>>> LinkingTo: Rcpp, RcppThread
> >>>> Suggests: knitr, rmarkdown
> >>>> VignetteBuilder: knitr
> >>>>
> >>>> Could it be these errors (disk full, no formatR) are related?  If not,
> >>>> does formatR need to be listed as a dependency?
> >>>>
> >>>> If the former (R server config/resource build errors), do I need to
> >>>> resubmit the package?
> >>>>
> >>>> Thank you.
> >>>>
> >>>> J Park
> >>>>
> >>>>
> >>>>           [[alternative HTML version deleted]]
> >>>>
> >>>> ______________________________________________
> >>>> R-package-devel using r-project.org mailing list
> >>>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >> ______________________________________________
> >> R-package-devel using r-project.org mailing list
> >> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> --
> Joseph Park <http://jpark.us/>, PhD, PE
> U.S. Department of Interior <https://www.doi.gov/>, SFNRC
> <https://www.nps.gov/ever/learn/scienceresearch.htm>
> Software Literacy Foundation <http://softwareliteracyfoundation.org/>
> UCSD Sugihara Lab <https://deepeco.ucsd.edu/>
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-package-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-package-devel



More information about the R-package-devel mailing list