Let’s think a package that has some required dependencies, but its dependencies have some requirements too. The maintainer might consider if he can raise the version requirements.
pd <- package_dependencies("ggeasy")
#> Retrieving repos_dependencies, this might take a bit.
#> Next call will be faster.
#> Warning in package_dependencies("ggeasy"): Some dependencies are not on available repositories: cli, glue, gtable, isoband, lifecycle, MASS, mgcv, rlang, scales, tibble, vctrs, withr, nlme, Matrix, farver, labeling, munsell, R6, RColorBrewer, viridisLite, fansi, magrittr, pillar, pkgconfig, lattice, colorspace, utf8 .
#> Check for Additional_repositories or other repositories (Bioconductor.org?).
head(pd)
#> name op version type package required
#> 1 ggplot2 <NA> <NA> Imports ggeasy <NA>
#> 2 R >= 3.5.0 Depends ggeasy <NA>
#> 3 rlang <NA> <NA> Imports ggeasy <NA>
# Discover the requirements that can be upgraded
update_dependencies(pd)
We can also be interested on since when did a package can be installed we can use:
package_date("ggeasy")
#> Published deps_available
#> "2024-11-03 05:50:04 CET" "2024-06-04 09:45:11 CEST"
Which will show when it was published and when the R dependencies required become available.
Other utils
When were packages last updated?
cran_session()
#> Retrieving cran_archive, this might take a bit.
#> Next call will be faster.
#> Retrieving cran_archive, this might take a bit.
#> Next call will be faster.
#> Warning: There are 5 packages both archived and published
#> This indicate manual CRAN intervention.
#> [1] "2025-03-03"
This uses the sessionInfo()
output to find the date of
last installation. There is a sister function for an arbitrary data:
versions <- data.frame(Package = c("dplyr", "Rcpp"),
Version = c("1.1.4", "0.8.9"))
versions
#> Package Version
#> 1 dplyr 1.1.4
#> 2 Rcpp 0.8.9
cran_date(versions)
#> [1] "2023-11-17"
This date doesn’t mean that all packages are up to date to this given
date (this can be easily checked with old.packages()
)
sessionInfo()
#> R Under development (unstable) (2025-03-04 r87880)
#> Platform: x86_64-pc-linux-gnu
#> Running under: Ubuntu 24.04.2 LTS
#>
#> Matrix products: default
#> BLAS: /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
#> LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.26.so; LAPACK version 3.12.0
#>
#> locale:
#> [1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C.UTF-8
#> [4] LC_COLLATE=C.UTF-8 LC_MONETARY=C.UTF-8 LC_MESSAGES=C.UTF-8
#> [7] LC_PAPER=C.UTF-8 LC_NAME=C LC_ADDRESS=C
#> [10] LC_TELEPHONE=C LC_MEASUREMENT=C.UTF-8 LC_IDENTIFICATION=C
#>
#> time zone: UTC
#> tzcode source: system (glibc)
#>
#> attached base packages:
#> [1] stats graphics grDevices utils datasets methods base
#>
#> other attached packages:
#> [1] repo.data_0.0.0.9000
#>
#> loaded via a namespace (and not attached):
#> [1] cli_3.6.4 knitr_1.49 rlang_1.1.5 xfun_0.51
#> [5] rversions_2.1.2 textshaping_1.0.0 jsonlite_1.9.1 markdown_1.13
#> [9] htmltools_0.5.8.1 ragg_1.3.3 sass_0.4.9 rmarkdown_2.29
#> [13] evaluate_1.0.3 jquerylib_0.1.4 fastmap_1.2.0 yaml_2.3.10
#> [17] lifecycle_1.0.4 compiler_4.5.0 fs_1.6.5 systemfonts_1.2.1
#> [21] digest_0.6.37 R6_2.6.1 curl_6.2.1 commonmark_1.9.2
#> [25] bslib_0.9.0 tools_4.5.0 xml2_1.3.7 pkgdown_2.1.1
#> [29] cachem_1.1.0 desc_1.4.3