On 26 December 2017 at 15:24, Sun Yijiang wrote: | After looking into C source code, I found that Rscript by default fills | environment variable R_DEFAULT_PACKAGES with | "datasets,utils,grDevices,graphics,stats", and it somehow fails some | package like h5. | | The problem here is, not setting R_DEFAULT_PACKAGES is equivalent to | setting it to a magic value, it's really confusing. I suggest remove this | feature.
The more confusing part is that "methods" is missing 'by design' (as loading methods is marginally more expensive that other packages). Ie for your script edd@bud:/tmp$ cat h5ex.R library(methods) library(h5) name <- tempfile() f <- h5file(name) file.remove(name) edd@bud:/tmp$ Rscript h5ex.R [1] TRUE edd@bud:/tmp$ it all works if you just add `library(methods)` as seen in the first line. For what it is worth, littler's r does not need that as it loads methods just like R itself does avoiding the confusion: edd@bud:/tmp$ cat h5ex2.R library(h5) name <- tempfile() f <- h5file(name) file.remove(name) edd@bud:/tmp$ r h5ex2.R edd@bud:/tmp$ Dirk -- http://dirk.eddelbuettel.com | @eddelbuettel | e...@debian.org ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel