[R-pkg-devel] Having shiny as an optional dependency

Kamil Stachowski k@m||@@t@chow@k| @end|ng |rom gm@||@com
Mon Nov 16 10:55:14 CET 2020


I did briefly wonder why your reply to me cited an email from Akshit Achara
who asked about third party C++ API. I assumed it was because the solution
to his problem and mine was the same.

In the meantime, I got a reply from Kurt Hornik who said I have a top-level
call

soundcorrsGUI <- shiny::shinyApp (ui, server)
>

so what I should really do is to move "shiny" from "Suggests" to "Imports".
I don't want to do this, however, because the GUI is just an addition, the
package is perfectly usable without it. I wrapped "soundcorrsGUI" in a
function:

soundcorrsGUI <- function () {
>
> if (!requireNamespace("shiny",quietly=T) ||
> !requireNamespace("shinyjqui",quietly=T))
> stop ("\"soundcorrsGUI\" requires packages \"shiny\" and \"shinyjqui\".")
>
> shiny::shinyApp (ui, server)
>
> }
>

and this seems to solve the problem with "shiny", but now I have a problem
with "shinyjqui". I actually only need one function from it: in the call to
"shinyApp" above,

ui <- shiny::navbarPage ([…] ui.soundchanges […])
>

where

ui.soundchanges <- shiny::fluidPage ([…]
> shinyjqui::sortableCheckboxGroupInput […])
>

I tried wrapping "ui.soundchanges" in a function in the same way as I did
with "soundcorrsGUI" but this doesn't help.

Is there a way to make it work without turning "shiny" and "shinyjqui" into
obligatory dependencies?

Best wishes,
Kamil Stachowski

On Mon, 16 Nov 2020, 00:55 Uwe Ligges, <ligges using statistik.tu-dortmund.de>
wrote:

> On 14.11.2020 19:53, Kamil Stachowski wrote:
> > This is actually what I do. Before you replied, I was told to write to
> CRAN
> > and explain, and they will decide whether the packages will be installed
> on
> > CRAN machines. Thank you for your help nonetheless.
>
> No, I told you about a "third party C++ API" you asked for, not about an
> R package. R packages  from BioC + CRAN should be availabe on CRAN, in
> that case it is a problem in your package.
>
> Best,
> Uwe Ligges
>
>
> >
> > Best,
> > Kamil
> >
> > On Sat, 14 Nov 2020 at 19:39, Gábor Csárdi <csardi.gabor using gmail.com>
> wrote:
> >
> >> You probably import functions from shiny. Don't do that, refer to them
> >> with the `::` operator instead.
> >>
> >> Gabor
> >>
> >> On Sat, Nov 14, 2020 at 6:12 PM Kamil Stachowski
> >> <kamil.stachowski using gmail.com> wrote:
> >>>
> >>> I wrote a package that contains a graphical interface written with
> >> packages
> >>> "shiny" and "shinyjqui". My package can also be used from the CLI, so I
> >>> listed both "shiny" and "shinyjqui" as optional dependencies. I ran R
> CMD
> >>> check --as-cran on my computer in R 3.6.3 and devel, and both passed
> >>> without any errors or warnings. However, when I tried uploading the
> >> package
> >>> to CRAN, I got this error:
> >>>
> >>> Error in loadNamespace(x) : there is no package called ‘shiny’
> >>> Error: unable to load R code in package ‘soundcorrs’
> >>> Execution halted
> >>> ERROR: lazy loading failed for package ‘soundcorrs’
> >>>
> >>> How can I fix this?
> >>>
> >>>          [[alternative HTML version deleted]]
> >>>
> >>> ______________________________________________
> >>> R-package-devel using r-project.org mailing list
> >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
> >>
> >
> >
>

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list