a simple “version”, or wrapper for packageDescription(), returning a named character vector, including "file", and still has a useful print() method.

pkgDesc (pkg, lib.loc = NULL, fields = NULL, ...)
pkgBuilt(pkg, lib.loc = NULL, ...)

Arguments

pkg

a character string, name of an installed R package.

lib.loc

library location to find the package in; the default NULL uses the full .libPaths().

fields

a character vector (or NULL) specifying fields to be returned.

...

further optional arguments passed to packageDescription().

Value

a named character vector, with names, the fields, identical to the names of the list returned by packageDescription, plus its "file" attribute. Additionally the resulting vector is of class "Dlist" which activates a useful print() method.

Author

Martin Maechler, Jan. 2021

Note

The file is always returned; not the least that the author wants to see it quite often as his .libPaths() is non-trivial and typically longer than 4 entries.

Examples

str(pd <- pkgDesc("sfsmisc"))
#>  'Dlist' Named chr [1:21] "sfsmisc" ...
#>  - attr(*, "names")= chr [1:21] "Package" "Title" "Version" "VersionNote" ...
pd[c("Date","Packaged", "Built","file")]
#> Date                    2025-08-30
#> NA                      NA
#> Built                   R 4.4.1; ; 2025-09-16 20:48:49 UTC; unix
#> file                    /tmp/RtmpPnhmHx/temp_libpath328e6e6f9ac8bb/sfsmisc/Meta/package.rds

pkgBuilt("sfsmisc")
#> Built                   R 4.4.1; ; 2025-09-16 20:48:49 UTC; unix
#> file                    /tmp/RtmpPnhmHx/temp_libpath328e6e6f9ac8bb/sfsmisc/Meta/package.rds

## Show "Built" (and "file") for all packages whose namespaces are loaded:
lNs <- loadedNamespaces()
mlNs <- sapply(lNs, pkgBuilt)
t(mlNs) # typically prints nicely
#>             Built                                                        
#> Matrix      "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-29 20:55:20 UTC; unix"
#> compiler    "R 4.4.1; ; 2024-08-22 01:51:30 UTC; unix"                   
#> stats       "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:52:25 UTC; unix"
#> rpart       "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:57:34 UTC; unix"
#> xml2        "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:54:52 UTC; unix"
#> cluster     "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:50:50 UTC; unix"
#> splines     "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:53:18 UTC; unix"
#> systemfonts "R 4.4.1; x86_64-pc-linux-gnu; 2025-05-09 18:28:19 UTC; unix"
#> textshaping "R 4.4.1; x86_64-pc-linux-gnu; 2025-09-15 13:48:50 UTC; unix"
#> yaml        "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:16:24 UTC; unix"
#> fastmap     "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:16:38 UTC; unix"
#> lattice     "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:51:36 UTC; unix"
#> base        "R 4.4.1; ; 2024-08-22 01:53:23 UTC; unix"                   
#> R6          "R 4.4.1; ; 2025-02-23 00:27:04 UTC; unix"                   
#> curl        "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:50:56 UTC; unix"
#> httr2       "R 4.4.1; ; 2025-07-28 14:40:34 UTC; unix"                   
#> knitr       "R 4.4.1; ; 2025-03-29 01:00:15 UTC; unix"                   
#> MASS        "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:52:16 UTC; unix"
#> datasets    "R 4.4.1; ; 2024-08-22 01:52:57 UTC; unix"                   
#> methods     "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:52:58 UTC; unix"
#> tibble      "R 4.4.1; x86_64-pc-linux-gnu; 2025-06-17 19:02:39 UTC; unix"
#> desc        "R 4.4.1; ; 2025-01-26 16:17:19 UTC; unix"                   
#> sfsmisc     "R 4.4.1; ; 2025-09-16 20:48:49 UTC; unix"                   
#> pillar      "R 4.4.1; ; 2025-07-16 18:48:30 UTC; unix"                   
#> rlang       "R 4.4.1; x86_64-pc-linux-gnu; 2025-04-12 13:34:48 UTC; unix"
#> cachem      "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:19:13 UTC; unix"
#> lokern      "R 4.4.0; x86_64-pc-linux-gnu; 2024-07-31 04:11:41 UTC; unix"
#> xfun        "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:51:39 UTC; unix"
#> fs          "R 4.4.1; x86_64-pc-linux-gnu; 2025-04-12 13:34:44 UTC; unix"
#> utils       "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:51:58 UTC; unix"
#> memoise     "R 4.4.1; ; 2025-01-26 16:21:05 UTC; unix"                   
#> cli         "R 4.4.1; x86_64-pc-linux-gnu; 2025-04-26 12:03:16 UTC; unix"
#> pkgdown     "R 4.4.1; ; 2025-05-28 00:57:25 UTC; unix"                   
#> withr       "R 4.4.1; ; 2025-01-26 16:16:57 UTC; unix"                   
#> magrittr    "R 4.4.1; x86_64-pc-linux-gnu; 2025-09-16 16:23:05 UTC; unix"
#> digest      "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:17:07 UTC; unix"
#> grid        "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:53:11 UTC; unix"
#> graphics    "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:52:15 UTC; unix"
#> rappdirs    "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:17:13 UTC; unix"
#> gmp         "R 4.4.0; x86_64-pc-linux-gnu; 2024-08-24 04:10:11 UTC; unix"
#> lifecycle   "R 4.4.1; ; 2025-01-26 16:19:16 UTC; unix"                   
#> vctrs       "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:21:17 UTC; unix"
#> downlit     "R 4.4.1; ; 2025-01-26 16:23:11 UTC; unix"                   
#> evaluate    "R 4.4.1; ; 2025-08-29 20:55:14 UTC; unix"                   
#> glue        "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:16:17 UTC; unix"
#> whisker     "R 4.4.1; ; 2025-01-26 16:15:48 UTC; unix"                   
#> ragg        "R 4.4.1; x86_64-pc-linux-gnu; 2025-09-15 13:50:08 UTC; unix"
#> fansi       "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:16:10 UTC; unix"
#> rmarkdown   "R 4.4.1; ; 2025-01-26 16:28:57 UTC; unix"                   
#> purrr       "R 4.4.1; x86_64-pc-linux-gnu; 2025-07-16 18:48:45 UTC; unix"
#> grDevices   "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:52:07 UTC; unix"
#> tools       "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:51:30 UTC; unix"
#> pkgconfig   "R 4.4.1; ; 2025-01-26 16:16:03 UTC; unix"                   
#> htmltools   "R 4.4.1; x86_64-pc-linux-gnu; 2025-01-26 16:20:05 UTC; unix"
#>             file                                                                                                                                        
#> Matrix      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/Matrix/Meta/package.rds"     
#> compiler    "/opt/R/4.4.1/lib/R/library/compiler/Meta/package.rds"                                                                                      
#> stats       "/opt/R/4.4.1/lib/R/library/stats/Meta/package.rds"                                                                                         
#> rpart       "/opt/R/4.4.1/lib/R/library/rpart/Meta/package.rds"                                                                                         
#> xml2        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/xml2/Meta/package.rds"       
#> cluster     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/cluster/Meta/package.rds"    
#> splines     "/opt/R/4.4.1/lib/R/library/splines/Meta/package.rds"                                                                                       
#> systemfonts "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/systemfonts/Meta/package.rds"
#> textshaping "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/textshaping/Meta/package.rds"
#> yaml        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/yaml/Meta/package.rds"       
#> fastmap     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/fastmap/Meta/package.rds"    
#> lattice     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/lattice/Meta/package.rds"    
#> base        "/opt/R/4.4.1/lib/R/library/base/Meta/package.rds"                                                                                          
#> R6          "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/R6/Meta/package.rds"         
#> curl        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/curl/Meta/package.rds"       
#> httr2       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/httr2/Meta/package.rds"      
#> knitr       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/knitr/Meta/package.rds"      
#> MASS        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/MASS/Meta/package.rds"       
#> datasets    "/opt/R/4.4.1/lib/R/library/datasets/Meta/package.rds"                                                                                      
#> methods     "/opt/R/4.4.1/lib/R/library/methods/Meta/package.rds"                                                                                       
#> tibble      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/tibble/Meta/package.rds"     
#> desc        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/desc/Meta/package.rds"       
#> sfsmisc     "/tmp/RtmpPnhmHx/temp_libpath328e6e6f9ac8bb/sfsmisc/Meta/package.rds"                                                                       
#> pillar      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/pillar/Meta/package.rds"     
#> rlang       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/rlang/Meta/package.rds"      
#> cachem      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/cachem/Meta/package.rds"     
#> lokern      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/lokern/Meta/package.rds"     
#> xfun        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/xfun/Meta/package.rds"       
#> fs          "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/fs/Meta/package.rds"         
#> utils       "/opt/R/4.4.1/lib/R/library/utils/Meta/package.rds"                                                                                         
#> memoise     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/memoise/Meta/package.rds"    
#> cli         "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/cli/Meta/package.rds"        
#> pkgdown     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/pkgdown/Meta/package.rds"    
#> withr       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/withr/Meta/package.rds"      
#> magrittr    "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/magrittr/Meta/package.rds"   
#> digest      "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/digest/Meta/package.rds"     
#> grid        "/opt/R/4.4.1/lib/R/library/grid/Meta/package.rds"                                                                                          
#> graphics    "/opt/R/4.4.1/lib/R/library/graphics/Meta/package.rds"                                                                                      
#> rappdirs    "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/rappdirs/Meta/package.rds"   
#> gmp         "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/gmp/Meta/package.rds"        
#> lifecycle   "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/lifecycle/Meta/package.rds"  
#> vctrs       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/vctrs/Meta/package.rds"      
#> downlit     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/downlit/Meta/package.rds"    
#> evaluate    "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/evaluate/Meta/package.rds"   
#> glue        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/glue/Meta/package.rds"       
#> whisker     "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/whisker/Meta/package.rds"    
#> ragg        "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/ragg/Meta/package.rds"       
#> fansi       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/fansi/Meta/package.rds"      
#> rmarkdown   "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/rmarkdown/Meta/package.rds"  
#> purrr       "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/purrr/Meta/package.rds"      
#> grDevices   "/opt/R/4.4.1/lib/R/library/grDevices/Meta/package.rds"                                                                                     
#> tools       "/opt/R/4.4.1/lib/R/library/tools/Meta/package.rds"                                                                                         
#> pkgconfig   "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/pkgconfig/Meta/package.rds"  
#> htmltools   "/cluster-data/user-homes/elizabethb/projects/prism-pkgdocs-build/installed-pkgs/2025-09-15/sfsmisc_1.1-22_lib/htmltools/Meta/package.rds"  

pkgs <- c("grid", "lattice", "MASS", "Matrix", "nlme", "lme4", "sfsmisc")
pkgs <- c("foobar", "barbar", pkgs, "kitty") # + names that typically don't exist
pkgsOk <- basename(find.package(pkgs, quiet=TRUE))
mpkg <- sapply(pkgsOk, pkgBuilt)
stopifnot(is.matrix(mpkg), nrow(mpkg) == 2)
mpkg["Built",]
#>                                                          grid 
#> "R 4.4.1; x86_64-pc-linux-gnu; 2024-08-22 01:53:11 UTC; unix" 
#>                                                       lattice 
#> "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:51:36 UTC; unix" 
#>                                                          MASS 
#> "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:52:16 UTC; unix" 
#>                                                        Matrix 
#> "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-29 20:55:20 UTC; unix" 
#>                                                          nlme 
#> "R 4.4.1; x86_64-pc-linux-gnu; 2025-08-22 14:54:13 UTC; unix" 
#>                                                       sfsmisc 
#>                    "R 4.4.1; ; 2025-09-16 20:48:49 UTC; unix"