[Rd] Correct use of tools::R_user_dir() in packages?

Simon Urbanek @|mon@urb@nek @end|ng |rom R-project@org
Wed Jun 28 21:59:04 CEST 2023


Carl,

I think your statement is false, the whole point of R_user_dir() is for packages to have a well-defined location that is allowed - from CRAN policy:

"For R version 4.0 or later (hence a version dependency is required or only conditional use is possible), packages may store user-specific data, configuration and cache files in their respective user directories obtained from tools::R_user_dir(), provided that by default sizes are kept as small as possible and the contents are actively managed (including removing outdated material)."

Cheers,
Simon


> On 28/06/2023, at 10:36 AM, Carl Boettiger <cboettig using gmail.com> wrote:
> 
> tools::R_user_dir() provides configurable directories for R packages
> to write persistent information consistent with standard best
> practices relative to each supported operating systems for
> applications to store data, config, and cache information
> respectively.  These standard best practices include writing to
> directories in the users home filespace, which is also specifically
> against CRAN policy.
> 
> These defaults can be overridden by setting the environmental
> variables R_USER_DATA_DIR , R_USER_CONFIG_DIR, R_USER_CACHE_DIR,
> respectively.
> 
> If R developers should be using the locations provided by
> tools::R_user_dir() in packages, why does CRAN's check procedure not
> set these three environmental variables to CRAN compliant location by
> default (e.g. tempdir())?
> 
> In order to comply with CRAN policy, a package developer can obviously
> set these environmental variables themselves within the call for every
> example, every unit test, and every vignette.  Is this the recommended
> approach or is there a better technique?
> 
> Thanks for any clarification!
> 
> Regards,
> 
> Carl
> 
> ---
> Carl Boettiger
> http://carlboettiger.info/
> 
> ______________________________________________
> R-devel using r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
> 



More information about the R-devel mailing list