Closed ernstki closed 1 year ago
At the time I write this, devtools appears to require shiny via its dependence on miniUI.
> pak::pkg_deps_explain("devtools", "shiny")
devtools -> miniUI -> shiny
I don't have the bandwidth to analyze that particular dependency situation atm. But I can say two things to possibly move this along in the meantime:
remotes::install_github()
or (what I would do) pak::pak()
.Imports
miniUI and miniUI Imports
shiny, so if package installation is going normally, the installation of shiny (or any such dependency) should "just happen". So it feels like there must be more to the story.@jennybc Thanks for pointing out some alternatives, which I was not aware of. I assume devtools::install_github
was chosen by the original package author (and noted in the "Installation" section of the README) just due to its featuring prominently in the available reference materials.
I agree, it seems like shiny being installed as a dependency should "just happen"—that was what felt weird about it. I did attempt to replicate on multiple workstations, on all three OSes, but I wasn't as scientific about it as I could've been (e.g., I did not start with a factory-fresh library
directory each time). But if I can manage to nail it down, I'll report back.
Hi all, hope you're well.
Is your feature request related to a problem? Please describe.
Unfortunately, I haven't been able to reproduce this deterministically—suggestions welcome—but shiny sometimes turns out to be an implicit dependency of devtools.
I had a coworker repeatedly and unsuccessfully trying to install devtools so she could
devtools::install_github
a package of ours, and what it boiled down to was the error messagethere is no package called ‘shiny’
which is very easily overlooked among the other console messages when installing devtools in a fresh R environment.I'm aware of the nuance here (the complicated web of dependencies among DT, crosstalk, shiny, and devtools), and I've already read through #2112, #2133, and related issues.
Describe the solution you'd like
If the dependency chain can't be disentangled cleanly, and one of the dependencies of devtools is going to need to resolve shiny anyway, resulting in hard-to-spot failure messages during initial installation, please make shiny an explicit dependency of devtools.
Describe alternatives you've considered
I've considered updating our package's README to say something like "if you receive the error
there is no package called ‘shiny’
, then install shiny, but our package doesn't require shiny, and this seems like something devtools should be handling on its own.Additional context
Thanks for your consideration!