r-lib / remotes

Install R packages from GitHub, GitLab, Bitbucket, git, svn repositories, URLs
https://remotes.r-lib.org/
Other
331 stars 152 forks source link

keep_outputs=TRUE doesn't seem to work in install_version #588

Closed paulovcmedeiros closed 2 years ago

paulovcmedeiros commented 3 years ago

Hi,

I've tried to use

install_version(pkg, version, keep_outputs=TRUE, ...)

to install a few packages with specific versions, but I can't find the log files produced when installing them. I've looked both in the local dir where my R script is being run, as well as in the R session's tmp dir.

I can accomplish what I want using install.packages with similar arguments, except, of course, the version specification (which is the reason I'm using remotes).

Am I missing something?

Many thanks in advance, Paulo.

jimhester commented 3 years ago

In ?install.packages the documentation for keep_outputs states,

Ignored when installing from local files.

install_version(), and really all of the install_xyz() functions are basically equivalent to downloading the files to the temp directory and then calling install.packages() on them, so I am not sure what you are trying to do will work.

paulovcmedeiros commented 3 years ago

Thanks for your reply. You're right, they ignore keep_outputs if installing from local files. I don't understand why but that is indeed how it works.

I've changed my strategy now and started using remotes::download_version to create a local CRAN-like repo with the versions I want and then install from there. This way I have access to the package installs' logfiles.

On this topic: Do you plan to have a path arg in remotes::download_version some day? It'd be nice to be able to specify the destination path directly. I see that remotes::download_version just wraps remotes:::download_version_url and download, but I'm a bit reluctant to use remotes:::download_version_url, as I assume you have a good reason to hide it under a triple-colon operator.