Finds the highest version number of an installed package in (possibly) several libraries. Mainly for internal use in mvbutils
, but might come in handy if your version numbers have gotten out-of-synch eg with different R versions. On my setup, all my "non-base" libraries are folders inside "d:/rpackages", with folder names such as "R2.13"; my .First
sets .libPaths()
to all of these that are below the running version of R (but that are still legal for that R version; so for R > 3.0, folders named "R2.xxxx" would be excluded). Hence I can call max_pkg_ver( mypack, "d:/rpackages")
to find the highest installed version in all these subfolders.
max_pkg_ver(pkg, libroot, pattern = "^[rR][ -]?[0-9]+")
# NB named with underscores to avoid interpretation as S3 method
character, the name of the package
folder(s) to be searched recursively for package pkg
what regexp to use when looking for potential libraries to recurse into
A numeric_version
object for the highest-numbered installation, with value numeric_version("0")
if no such package is found. If libroot
is a single library containing the package, the result will equal packageVersion( pkg, limbroot)
.
# NOT RUN {
max_pkg_ver( "mvbutils", .libPaths())
# }
Run the code above in your browser using DataLab