[R-pkg-devel] vignette via devtools: sometimes found, sometimes not (same package)

Alexandre Courtiol alexandre.courtiol at gmail.com
Tue Apr 24 17:52:38 CEST 2018


Dear all,

I have finally understood why my package installed from GitHub (via
devtools or drat) would display pre-built vignettes after a call to
browseVignettes() on most but not all computers (despite the vignettes
being physically present in all): if the package is installed on a computer
that has knitr installed, then it works; otherwise it fails.

I can thus fix this by adding knitr in the Imports instead of Suggests, or
by asking people to install with the option dependencies = TRUE.

I am still wondering why knitr is needed (the vignettes are pre-built), but
the workaround seems to work with a 100% success rate.

Thanks for all that tried to fix my issue...

I should have thought about knitr head on but I did not, and neither
sessionInfo() nor devtools::session_info() allows one to know if knitr is
installed or not, and I did not think of checking all installed packages
before.

Best,
Alex

On 20 April 2018 at 09:59, Martin Maechler <maechler at stat.math.ethz.ch>
wrote:

> >>>>> Thierry Onkelinx <thierry.onkelinx at inbo.be>
> >>>>>     on Fri, 20 Apr 2018 09:14:44 +0200 writes:
>
>     > Dear Alex, Another idea is to use pkgdown
>     > (http://pkgdown.r-lib.org) to convert all the
>     > documentation of your package (include the vignettes) into
>     > a website. Then you make that available to your students,
>     > e.g. through github pages.
>
> Hmm, sounds nice .. at first:  In teaching (and research!) I particularly
> emphasize people use CRAN (or Bioconductor) packages.
>
> Why on earth is pkgdown not on CRAN ?
>
> Martin Maechler
> ETH Zurich
>
>     > Best regards,
>
>     > ir. Thierry Onkelinx Statisticus / Statistician
>
>     > Vlaamse Overheid / Government of Flanders INSTITUUT VOOR
>     > NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
>     > AND FOREST Team Biometrie & Kwaliteitszorg / Team
>     > Biometrics & Quality Assurance thierry.onkelinx at inbo.be
>     > Havenlaan 88 bus 73, 1000 Brussel www.inbo.be
>
>     > ////////////////////////////////////////////////////////////
> ///////////////////////////////
>     > To call in the statistician after the experiment is done
>     > may be no more than asking him to perform a post-mortem
>     > examination: he may be able to say what the experiment
>     > died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote
>     > is not data. ~ Roger Brinner The combination of some data
>     > and an aching desire for an answer does not ensure that a
>     > reasonable answer can be extracted from a given body of
>     > data. ~ John Tukey
>     > ////////////////////////////////////////////////////////////
> ///////////////////////////////
>
>
>
>
>     > 2018-04-19 18:33 GMT+02:00 Alexandre Courtiol
>     > <alexandre.courtiol at gmail.com>:
>     >> Thanks a lot Thierry, I was happy to discover and
>     >> implement a "drat" installation workflow.  Unfortunately
>     >> it did not solve the issue (but I will stick to drat).
>     >> Also, I checked the sessionInfo() and could not find any
>     >> package version discriminating accurately between
>     >> computers that shows vignettes from those who do not.
>     >> Only Windows computer have the issue but this proves
>     >> nothing (and other computers with the same OS version are
>     >> fine).  Goergi, I did not yet retried outside RStudio (I
>     >> am trying not to waste too much time at the beginning of
>     >> each course...  I wish I could hijack a problematic
>     >> laptop but they don't let me do it as they need them).
>     >> ++ Alex
>     >>
>     >>
>     >> On 17 April 2018 at 10:42, Thierry Onkelinx
>     >> <thierry.onkelinx at inbo.be> wrote:
>     >>>
>     >>> Dear Alex,
>     >>>
>     >>> Have a look at drat
>     >>> (http://eddelbuettel.github.io/drat/DratForPackageAuthors.html).
> This
>     >>> makes it easier to distribute prepackaged R packages
>     >>> (including When you uploaded a new version, then the
>     >>> student would only have to do drat::addRepo("your_repo")
>     >>> and then install.pakages("LM2GLMM") or update.packages()
>     >>>
>     >>> Best regards,
>     >>>
>     >>> ir. Thierry Onkelinx Statisticus / Statistician
>     >>>
>     >>> Vlaamse Overheid / Government of Flanders INSTITUUT VOOR
>     >>> NATUUR- EN BOSONDERZOEK / RESEARCH INSTITUTE FOR NATURE
>     >>> AND FOREST Team Biometrie & Kwaliteitszorg / Team
>     >>> Biometrics & Quality Assurance thierry.onkelinx at inbo.be
>     >>> Havenlaan 88 bus 73, 1000 Brussel www.inbo.be
>     >>>
>     >>>
>     >>> ////////////////////////////////////////////////////////////
> ///////////////////////////////
>     >>> To call in the statistician after the experiment is done
>     >>> may be no more than asking him to perform a post-mortem
>     >>> examination: he may be able to say what the experiment
>     >>> died of. ~ Sir Ronald Aylmer Fisher The plural of
>     >>> anecdote is not data. ~ Roger Brinner The combination of
>     >>> some data and an aching desire for an answer does not
>     >>> ensure that a reasonable answer can be extracted from a
>     >>> given body of data. ~ John Tukey
>     >>>
>     >>> ////////////////////////////////////////////////////////////
> ///////////////////////////////
>     >>>
>     >>>
>     >>>
>     >>>
>     >>> 2018-04-16 19:38 GMT+02:00 Alexandre Courtiol
>     >>> <alexandre.courtiol at gmail.com>: > Re,
>     >>> >
>     >>> > On 16 April 2018 at 17:35, Georgi Boshnakov < >
>     >>> georgi.boshnakov at manchester.ac.uk> wrote:
>     >>> >
>     >>> >> Hi,
>     >>> >>
>     >>> >> The problem is indeed difficult to debug but there
>     >>> are things that can >> be >> done to narrow it down.
>     >>> >>
>     >>> >> 1. Are there 1/3 unlucky computers fixed? (I.e does
>     >>> the problem occur >> always on the same computers) Also,
>     >>> do you really mean computer or >> user?
>     >>> >>
>     >>> >
>     >>> > Yes, I mean computer, not user.
>     >>> >
>     >>> >>
>     >>> >> 2. Are the students working under R studio? If so,
>     >>> does the same >> problem >> appear if the same procedure
>     >>> is run outside R studio.
>     >>> >>
>     >>> >
>     >>> > I will try tomorrow (but from memory I think the
>     >>> answer will be yes).
>     >>> >
>     >>> >>
>     >>> >> 3. Further to 2., You mention development mode - do
>     >>> (some) students >> also >> have a copy of your
>     >>> repository? This may be aproblem if they don't >> update
>     >>> >> it too.
>     >>> >>
>     >>> >
>     >>> > No, only me has the devel version.
>     >>> >
>     >>> >>
>     >>> >> 4. What happens if R is restarted?
>     >>> >
>     >>> >
>     >>> > I will try tomorrow (but I think the answer will be
>     >>> nothing).
>     >>> >
>     >>> >
>     >>> >> 5. It may be worth checking .Rprofle and similar for
>     >>> the concerned >> computers (or users, see 1.)
>     >>> >>
>     >>> >
>     >>> > I will try as well but most had a fresh install and
>     >>> did not mess with > settings.
>     >>> >
>     >>> >>
>     >>> >> Hope this is of some help.
>     >>> >>
>     >>> >
>     >>> > I will look at all this and also gather the session
>     >>> infos as Ben > suggested.  > I think I know how to
>     >>> proceed to get to the bottom of that, but I was > just >
>     >>> hoping that the problem was already well known and the
>     >>> answer as well...  > If it is for anyone, please
>     >>> reply. Otherwise, I will investigate.  > Thanks to
>     >>> everyone.  > Alex
>     >>> >
>     >>> >
>     >>> >>
>     >>> >>
>     >>> >> Georgi Boshnakov
>     >>> >>
>     >>> >>
>     >>> >> ________________________________________ >> From:
>     >>> R-package-devel [r-package-devel-bounces at r-project.org]
>     >>> on behalf >> of Alexandre Courtiol
>     >>> [alexandre.courtiol at gmail.com] >> Sent: 16 April 2018
>     >>> 14:40 >> To: List r-package-devel >> Subject:
>     >>> [R-pkg-devel] vignette via devtools: sometimes found, >>
>     >>> sometimes >> not (same package)
>     >>> >>
>     >>> >> Dear all, >> I am teaching a class and for that I
>     >>> created a R package that mostly >> contains vignettes
>     >>> (the slides of the course).  >> I host the package on
>     >>> GitHub because I want the students to download >> every
>     >>> >> day the latest version of the package.  >> Building
>     >>> the vignettes takes a couple of hours so I pre-build the
>     >>> >> vignettes >> using devtools::build_vignettes before
>     >>> pushing my updates to GitHub.  >> The student install
>     >>> the package using >>
>     >>> devtools::install_github("courtiol/LM2GLMM").  >> Then,
>     >>> they do library(LM2GLMM) and browseVignettes(package =
>     >>> >> "LM2GLMM")...
>     >>> >>
>     >>> >> ... and that works on 2/3 of the computers, for the
>     >>> others it says >> vignettes not found.
>     >>> >>
>     >>> >> Any idea why and what can I do to make it 100%
>     >>> success?  >> Of course on my laptop it works, so I
>     >>> cannot investigate.  >> Also, since they all use
>     >>> different versions of R, devtools or OS... I >> would >>
>     >>> like to know the one thing that must be changed if it
>     >>> comes from that >> (but >> I am not sure it does).
>     >>> >>
>     >>> >> I have added a back up function that works for the
>     >>> 1/3 of unfortunate >> students:
>     >>> >>
>     >>> >> get_vignettes <- function() { >>
>     >>> utils::browseURL(paste0(find.package("LM2GLMM"),
>     >>> "/doc/")) ## for >> installed >>
>     >>> utils::browseURL(paste0(find.package("LM2GLMM"),
>     >>> "/inst/doc/")) ## >> for >> development >>
>     >>> return(invisible(NULL)) >> }
>     >>> >>
>     >>> >> This functions opens de vignette folder and that
>     >>> shows that all the >> students actually have the html
>     >>> files installed correctly. But it is >> ugly >> because
>     >>> then they have to find the good html file and so forth,
>     >>> so I >> would >> rather have a better solution.
>     >>> >>
>     >>> >> Many thanks,
>     >>> >>
>     >>> >> Alex
>     >>> >>
>     >>> >> --
>     >>> >> Alexandre Courtiol
>     >>> >>
>     >>> >> http://sites.google.com/site/alexandrecourtiol/home
>     >>> >>
>     >>> >> *"Science is the belief in the ignorance of
>     >>> experts"*, R. Feynman
>     >>> >>
>     >>> >> [[alternative HTML version deleted]]
>     >>> >>
>     >>> >> ______________________________________________ >>
>     >>> R-package-devel at r-project.org mailing list >>
>     >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>     >>> >>
>     >>> >
>     >>> >
>     >>> >
>     >>> > --
>     >>> > Alexandre Courtiol
>     >>> >
>     >>> > http://sites.google.com/site/alexandrecourtiol/home
>     >>> >
>     >>> > *"Science is the belief in the ignorance of experts"*,
>     >>> R. Feynman
>     >>> >
>     >>> > [[alternative HTML version deleted]]
>     >>> >
>     >>> > ______________________________________________ >
>     >>> R-package-devel at r-project.org mailing list >
>     >>> https://stat.ethz.ch/mailman/listinfo/r-package-devel
>     >>
>     >>
>     >>
>     >>
>     >> --
>     >> Alexandre Courtiol
>     >>
>     >> http://sites.google.com/site/alexandrecourtiol/home
>     >>
>     >> "Science is the belief in the ignorance of experts",
>     >> R. Feynman
>
>     > ______________________________________________
>     > R-package-devel at r-project.org mailing list
>     > https://stat.ethz.ch/mailman/listinfo/r-package-devel
>



-- 
Alexandre Courtiol

http://sites.google.com/site/alexandrecourtiol/home

*"Science is the belief in the ignorance of experts"*, R. Feynman

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list