[Rd] Package installation and path.package
Simon Urbanek
simon.urbanek at r-project.org
Mon Sep 9 15:26:34 CEST 2013
On Sep 9, 2013, at 4:22 AM, Simon Zehnder wrote:
> Dear R-Devels,
>
> I am writing right now my own package that makes use of 'tempfile' and there within with 'path.package'. When I install it, I get the error: Error in path.package("mypackage") : none of the packages are loaded. Here is the code, I use in my package:
>
>
> ".defaultDBPath" <- function()
> {
> db.path <- tempfile(pattern = "mmstructDB",
> tmpdir = file.path(path.package("mmstruct"),
> "data", "databases"),
> fileext = ".db")
> return(db.path)
> }
>
> .mmstructBASE <- setClass("mmstructBASE",
> representation("VIRTUAL",
> dbName = "character",
> dbTable = "character"),
> prototype(dbName = character(),
> dbTable = character()
> )
> )
>
> .mmstructDB <- setClass("mmstructDB",
> representation("VIRTUAL",
> conn = "SQLiteConnection"),
> contains = c("mmstructBASE"),
> prototype(conn = dbConnect(dbDriver("SQLite"), .defaultDBPath()))
> )
>
> I understand the error, but I would like to have a workaround. How can I give the path to the package I am actually installing without getting this error?
>
That path to your package is dynamic - in general it will not be know when creating the lazy-load DB, so you really want to put that code in .onLoad() where the path is known.
Cheers,
Simon
>
> Best
>
> Simon
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>
More information about the R-devel
mailing list