You don't need to read long manual pages for a simple task. This manual page collects the most common pak use cases.
Package installation
Install a package from CRAN or Bioconductor
pak::pkg_install("tibble")
pak automatically sets a CRAN repository and the Bioconductor repositories that correspons to the current R version.
Install a package from GitHub
pak::pkg_install("tidyverse/tibble")
#> #> → Will update 2 packages. #> → All 2 packages (0 B) are cached. #> + tibble 3.1.8 → 3.1.8.9002 👷🏻🔧 (GitHub: 37ec86a) #> + vctrs 0.5.1 → 0.5.1.9000 👷🏾♀️🔧 (GitHub: 2d7de76) #> ℹ No downloads are needed, 2 pkgs are cached #> ℹ Packaging vctrs 0.5.1.9000 #> ✔ Packaged vctrs 0.5.1.9000 (1.4s) #> ℹ Building vctrs 0.5.1.9000 #> ✔ Built vctrs 0.5.1.9000 (11.2s) #> ✔ Installed vctrs 0.5.1.9000 (github::r-lib/vctrs@2d7de76) (34ms) #> ℹ Packaging tibble 3.1.8.9002 #> ✔ Packaged tibble 3.1.8.9002 (502ms) #> ℹ Building tibble 3.1.8.9002 #> ✔ Built tibble 3.1.8.9002 (2.7s) #> ✔ Installed tibble 3.1.8.9002 (github::tidyverse/tibble@37ec86a) (28ms) #> ✔ 1 pkg + 10 deps: kept 9, upd 2 [17.5s]
Use the user/repo
form.
You can specify a branch or tag: user/repo@branch
or user/repo@tag
.
Install a package from a URL
pak::pkg_install(
"url::https://cran.r-project.org/src/contrib/Archive/tibble/tibble_3.1.7.tar.gz"
)
#> #> → Will install 1 package. #> → Will update 1 package. #> → All 2 packages (38.65 kB) are cached. #> + ellipsis 0.3.2 #> + tibble 3.1.8.9002 → 3.1.7 👷🏻♀️🔧 #> ℹ No downloads are needed, 2 pkgs (38.65 kB) are cached #> ✔ Installed ellipsis 0.3.2 (18ms) #> ℹ Building tibble 3.1.7 #> ✔ Built tibble 3.1.7 (2.5s) #> ✔ Installed tibble 3.1.7 (31ms) #> ✔ 1 pkg + 11 deps: kept 10, upd 1, added 1 [3.3s]
The URL may point to an R package file, made with R CMD build
, or a
.tar.gz
or .zip
archive of a package tree.
Package updates
Update a package
pak::pkg_install("tibble")
#> #> → Will update 1 package. #> → The package (724.32 kB) is cached. #> + tibble 3.1.7 → 3.1.8 #> ℹ No downloads are needed, 1 pkg (724.32 kB) is cached #> ✔ Installed tibble 3.1.8 (36ms) #> ✔ 1 pkg + 10 deps: kept 10, upd 1 [368ms]
pak::pkg_install()
automatically updates the package.
Update all dependencies of a package
pak::pkg_install("tibble", upgrade = TRUE)
#> #> ℹ No downloads are needed #> ✔ 1 pkg + 10 deps: kept 11 [278ms]
upgrade = TRUE
updates the package itself and all of its dependencies, if
necessary.
Reinstall a package
Add ?reinstall
to the package name or package reference in general:
pak::pkg_install("tibble?reinstall")
#> #> → Will install 1 package. #> → The package (724.32 kB) is cached. #> + tibble 3.1.8 #> ℹ No downloads are needed, 1 pkg (724.32 kB) is cached #> ✔ Installed tibble 3.1.8 (60ms) #> ✔ 1 pkg + 10 deps: kept 10, added 1 [340ms]
Dependency lookup
Dependencies of a CRAN or Bioconductor package
pak::pkg_deps("tibble")
#> # A data frame: 11 × 32 #> ref type direct direc…¹ status package version license needs…² #> <chr> <chr> <lgl> <lgl> <chr> <chr> <chr> <chr> <lgl> #> 1 cli stan… FALSE FALSE OK cli 3.4.1 MIT + … FALSE #> 2 fansi stan… FALSE FALSE OK fansi 1.0.3 GPL-2 … FALSE #> 3 glue stan… FALSE FALSE OK glue 1.6.2 MIT + … FALSE #> 4 lifecycle stan… FALSE FALSE OK lifecy… 1.0.3 MIT + … FALSE #> 5 magrittr stan… FALSE FALSE OK magrit… 2.0.3 MIT + … FALSE #> 6 pillar stan… FALSE FALSE OK pillar 1.8.1 MIT + … FALSE #> 7 pkgconfig stan… FALSE FALSE OK pkgcon… 2.0.3 MIT + … FALSE #> 8 rlang stan… FALSE FALSE OK rlang 1.0.6 MIT + … FALSE #> 9 tibble stan… TRUE TRUE OK tibble 3.1.8 MIT + … FALSE #> 10 utf8 stan… FALSE FALSE OK utf8 1.2.2 Apache… FALSE #> 11 vctrs stan… FALSE FALSE OK vctrs 0.5.1 MIT + … FALSE #> # … with 23 more variables: priority <chr>, md5sum <chr>, sha256 <chr>, #> # filesize <int>, built <chr>, platform <chr>, rversion <chr>, #> # repotype <chr>, repodir <chr>, target <chr>, deps <list>, #> # mirror <chr>, sources <list>, remote <list>, error <list>, #> # metadata <list>, dep_types <list>, params <list>, sysreqs <chr>, #> # cache_status <chr>, lib_status <chr>, old_version <chr>, #> # new_version <chr>, and abbreviated variable names ¹directpkg, …
The results are returned in a data frame.
Dependency tree of a CRAN / Bioconductor package
pak::pkg_deps_tree("tibble")
#> tibble 3.1.8 ✨ #> ├─fansi 1.0.3 ✨ #> ├─lifecycle 1.0.3 ✨ #> │ ├─cli 3.4.1 ✨ #> │ ├─glue 1.6.2 ✨ #> │ └─rlang 1.0.6 ✨ #> ├─magrittr 2.0.3 ✨ #> ├─pillar 1.8.1 ✨ #> │ ├─cli #> │ ├─fansi #> │ ├─glue #> │ ├─lifecycle #> │ ├─rlang #> │ ├─utf8 1.2.2 ✨ #> │ └─vctrs 0.5.1 ✨ #> │ ├─cli #> │ ├─glue #> │ ├─lifecycle #> │ └─rlang #> ├─pkgconfig 2.0.3 ✨ #> ├─rlang #> └─vctrs #> #> Key: ✨ new
The results are also silently returned in a data frame.
Dependency tree of a package on GitHub
pak::pkg_deps_tree("tidyverse/tibble")
#> tidyverse/tibble 3.1.8.9002 ✨👷🏼🔧 #> ├─fansi 1.0.3 ✨ #> ├─lifecycle 1.0.3 ✨ #> │ ├─cli 3.4.1 ✨ #> │ ├─glue 1.6.2 ✨ #> │ └─rlang 1.0.6 ✨ #> ├─magrittr 2.0.3 ✨ #> ├─pillar 1.8.1 ✨ #> │ ├─cli #> │ ├─fansi #> │ ├─glue #> │ ├─lifecycle #> │ ├─rlang #> │ ├─utf8 1.2.2 ✨ #> │ └─r-lib/vctrs 0.5.1.9000 ✨👷🏼🔧 #> │ ├─cli #> │ ├─glue #> │ ├─lifecycle #> │ └─rlang #> ├─pkgconfig 2.0.3 ✨ #> ├─rlang #> └─r-lib/vctrs #> #> Key: ✨ new | 👷🏼 build | 🔧 compile
Use the user/repo
form.
As usual, you can also select a branch, tag, or sha, with the
user/repo@branch
, user/repo@tag
or user/repo@sha
forms.
Dependency tree of the package in the current directory
pak::local_deps_tree("tibble")
#> local::tibble 3.1.8 ✨👷🏻♀️🔧 #> ├─fansi 1.0.3 ✨ #> ├─lifecycle 1.0.3 ✨ #> │ ├─cli 3.4.1 ✨ #> │ ├─glue 1.6.2 ✨ #> │ └─rlang 1.0.6 ✨ #> ├─magrittr 2.0.3 ✨ #> ├─pillar 1.8.1 ✨ #> │ ├─cli #> │ ├─fansi #> │ ├─glue #> │ ├─lifecycle #> │ ├─rlang #> │ ├─utf8 1.2.2 ✨ #> │ └─vctrs 0.5.1 ✨ #> │ ├─cli #> │ ├─glue #> │ ├─lifecycle #> │ └─rlang #> ├─pkgconfig 2.0.3 ✨ #> ├─rlang #> └─vctrs #> #> Key: ✨ new | 👷🏻♀️ build | 🔧 compile
Assuming package is in directory tibble
.
Explain a recursive dependency
How does tibble depend on rlang?
pak::pkg_deps_explain("tibble", "rlang")
#> tibble -> lifecycle -> rlang #> tibble -> pillar -> lifecycle -> rlang #> tibble -> pillar -> rlang #> tibble -> pillar -> vctrs -> lifecycle -> rlang #> tibble -> pillar -> vctrs -> rlang #> tibble -> rlang #> tibble -> vctrs -> lifecycle -> rlang #> tibble -> vctrs -> rlang
Use can also use the user/repo
form for packages from GitHub,
url::...
for packages at URLs, etc.
Package development
Install dependencies of local package
pak::local_install_deps()
#> ✔ Loading metadata database ... done #> #> → The package (0 B) is cached. #> ℹ No downloads are needed #> ✔ 10 deps: kept 10 [3.2s]
Install local package
pak::local_install()
#> #> → Will update 1 package. #> → The package (0 B) is cached. #> + tibble 3.1.8 → 3.1.8 👷🏻♂️🔧 #> ℹ No downloads are needed, 1 pkg is cached #> ✔ Got tibble 3.1.8 (source) (96 B) #> ℹ Packaging tibble 3.1.8 #> ✔ Packaged tibble 3.1.8 (864ms) #> ℹ Building tibble 3.1.8 #> ✔ Built tibble 3.1.8 (2.4s) #> ✔ Installed tibble 3.1.8 (local) (38ms) #> ✔ 1 pkg + 10 deps: kept 10, upd 1, dld 1 (NA B) [4.2s]
Install all dependencies of local package
pak::local_install_dev_deps()
#> #> → Will install 86 packages. #> → Will update 2 packages. #> → All 89 packages (100.53 MB) are cached. #> + askpass 1.1 #> + base64enc 0.1-3 #> + bench 1.1.2 #> + bit 4.0.5 #> + bit64 4.0.5 #> + blob 1.2.3 #> + brio 1.1.3 #> + bslib 0.4.1 #> + cachem 1.0.6 #> + callr 3.7.3 #> + clipr 0.8.0 #> + colorspace 2.0-3 #> + covr 3.6.1 #> + crayon 1.5.2 #> + curl 4.3.3 #> + desc 1.4.2 #> + DiagrammeR 1.0.9 #> + diffobj 0.3.5 #> + digest 0.6.31 #> + downloader 0.4 #> + dplyr 1.0.10 #> + evaluate 0.19 👷🏿♂️ #> + farver 2.1.1 #> + fastmap 1.1.0 #> + formattable 0.2.1 #> + fs 1.5.2 #> + generics 0.1.3 #> + ggplot2 3.4.0 #> + gridExtra 2.3 #> + gtable 0.3.1 #> + highr 0.9 #> + hms 1.1.2 #> + htmltools 0.5.4 #> + htmlwidgets 1.6.0 👷🏾♂️ #> + httr 1.4.4 #> + igraph 1.3.5 #> + influenceR 0.1.0.1 #> + isoband 0.2.6 #> + jquerylib 0.1.4 #> + jsonlite 1.8.4 #> + knitr 1.41 #> + labeling 0.4.2 #> + lazyeval 0.2.2 #> + lubridate 1.9.0 #> + Matrix 1.5-1 → 1.5-3 #> + memoise 2.0.1 #> + mime 0.12 #> + mockr 0.2.0 #> + munsell 0.5.0 #> + nlme 3.1-160 → 3.1-161 👷♂️🔧 #> + nycflights13 1.0.2 #> + openssl 2.0.5 #> + pkgbuild 1.4.0 #> + pkgload 1.3.2 #> + praise 1.0.0 #> + prettyunits 1.1.1 #> + processx 3.8.0 #> + profmem 0.6.0 #> + ps 1.7.2 #> + purrr 0.3.5 #> + R6 2.5.1 #> + rappdirs 0.3.3 #> + RColorBrewer 1.1-3 #> + readr 2.1.3 #> + rematch2 2.1.2 #> + rex 1.2.1 #> + rmarkdown 2.19 👷♂️ #> + rprojroot 2.0.3 #> + rstudioapi 0.14 #> + sass 0.4.4 #> + scales 1.2.1 #> + stringi 1.7.8 #> + stringr 1.5.0 #> + sys 3.4.1 #> + testthat 3.1.6 #> + tidyr 1.2.1 #> + tidyselect 1.2.0 #> + timechange 0.1.1 #> + tinytex 0.43 👷🏻♂️ #> + tzdb 0.3.0 #> + viridis 0.6.2 #> + viridisLite 0.4.1 #> + visNetwork 2.1.2 #> + vroom 1.6.0 #> + waldo 0.4.0 #> + withr 2.5.0 #> + xfun 0.35 #> + yaml 2.3.6 #> ℹ No downloads are needed, 88 pkgs (100.53 MB) are cached #> ℹ Packaging tibble 3.1.8 #> ℹ Building evaluate 0.19 #> ℹ Building nlme 3.1-161 #> ✔ Installed R6 2.5.1 (31ms) #> ✔ Installed DiagrammeR 1.0.9 (76ms) #> ✔ Installed RColorBrewer 1.1-3 (72ms) #> ✔ Installed askpass 1.1 (79ms) #> ✔ Installed Matrix 1.5-3 (137ms) #> ✔ Installed base64enc 0.1-3 (125ms) #> ✔ Installed bench 1.1.2 (90ms) #> ✔ Installed bit64 4.0.5 (44ms) #> ✔ Installed bit 4.0.5 (43ms) #> ✔ Installed blob 1.2.3 (41ms) #> ✔ Installed brio 1.1.3 (40ms) #> ✔ Installed cachem 1.0.6 (31ms) #> ✔ Installed callr 3.7.3 (53ms) #> ✔ Installed clipr 0.8.0 (89ms) #> ✔ Installed colorspace 2.0-3 (99ms) #> ✔ Installed covr 3.6.1 (58ms) #> ✔ Installed crayon 1.5.2 (75ms) #> ✔ Installed curl 4.3.3 (83ms) #> ✔ Packaged tibble 3.1.8 (684ms) #> ✔ Installed bslib 0.4.1 (315ms) #> ✔ Installed desc 1.4.2 (77ms) #> ✔ Installed diffobj 0.3.5 (68ms) #> ✔ Installed digest 0.6.31 (60ms) #> ✔ Installed downloader 0.4 (39ms) #> ✔ Installed dplyr 1.0.10 (39ms) #> ✔ Installed farver 2.1.1 (41ms) #> ✔ Installed fastmap 1.1.0 (38ms) #> ✔ Installed formattable 0.2.1 (43ms) #> ✔ Built evaluate 0.19 (903ms) #> ✔ Installed fs 1.5.2 (49ms) #> ✔ Installed generics 0.1.3 (46ms) #> ✔ Installed ggplot2 3.4.0 (65ms) #> ✔ Installed gridExtra 2.3 (43ms) #> ✔ Installed gtable 0.3.1 (38ms) #> ✔ Installed highr 0.9 (37ms) #> ✔ Installed hms 1.1.2 (39ms) #> ✔ Installed htmltools 0.5.4 (40ms) #> ✔ Installed httr 1.4.4 (40ms) #> ✔ Installed influenceR 0.1.0.1 (17ms) #> ✔ Installed igraph 1.3.5 (96ms) #> ✔ Installed isoband 0.2.6 (68ms) #> ✔ Installed jquerylib 0.1.4 (38ms) #> ✔ Installed jsonlite 1.8.4 (37ms) #> ✔ Installed labeling 0.4.2 (14ms) #> ✔ Installed knitr 1.41 (73ms) #> ✔ Installed lazyeval 0.2.2 (43ms) #> ✔ Installed lubridate 1.9.0 (38ms) #> ✔ Installed memoise 2.0.1 (39ms) #> ✔ Installed mime 0.12 (58ms) #> ✔ Installed mockr 0.2.0 (38ms) #> ✔ Installed munsell 0.5.0 (36ms) #> ✔ Installed nycflights13 1.0.2 (37ms) #> ✔ Installed openssl 2.0.5 (41ms) #> ✔ Installed pkgbuild 1.4.0 (39ms) #> ✔ Installed pkgload 1.3.2 (37ms) #> ✔ Installed praise 1.0.0 (35ms) #> ✔ Installed prettyunits 1.1.1 (56ms) #> ✔ Installed processx 3.8.0 (37ms) #> ✔ Installed profmem 0.6.0 (37ms) #> ✔ Installed ps 1.7.2 (37ms) #> ✔ Installed purrr 0.3.5 (38ms) #> ✔ Installed rappdirs 0.3.3 (37ms) #> ✔ Installed readr 2.1.3 (42ms) #> ✔ Installed rematch2 2.1.2 (41ms) #> ✔ Installed rex 1.2.1 (58ms) #> ✔ Installed rprojroot 2.0.3 (58ms) #> ✔ Installed rstudioapi 0.14 (40ms) #> ✔ Installed sass 0.4.4 (42ms) #> ✔ Installed scales 1.2.1 (39ms) #> ✔ Installed stringr 1.5.0 (33ms) #> ✔ Installed sys 3.4.1 (49ms) #> ✔ Installed testthat 3.1.6 (88ms) #> ✔ Installed tidyr 1.2.1 (77ms) #> ✔ Installed stringi 1.7.8 (195ms) #> ✔ Installed tidyselect 1.2.0 (113ms) #> ✔ Installed timechange 0.1.1 (55ms) #> ✔ Installed tzdb 0.3.0 (40ms) #> ✔ Installed viridisLite 0.4.1 (39ms) #> ✔ Installed viridis 0.6.2 (39ms) #> ✔ Installed visNetwork 2.1.2 (77ms) #> ✔ Installed vroom 1.6.0 (77ms) #> ✔ Installed waldo 0.4.0 (62ms) #> ✔ Installed withr 2.5.0 (40ms) #> ✔ Installed xfun 0.35 (39ms) #> ℹ Building tinytex 0.43 #> ✔ Installed yaml 2.3.6 (43ms) #> ✔ Installed evaluate 0.19 (15ms) #> ✔ Built tinytex 0.43 (1.1s) #> ✔ Installed tinytex 0.43 (15ms) #> ℹ Building rmarkdown 2.19 #> ✔ Built rmarkdown 2.19 (3.9s) #> ✔ Installed rmarkdown 2.19 (85ms) #> ℹ Building htmlwidgets 1.6.0 #> ✔ Built nlme 3.1-161 (8s) #> ✔ Installed nlme 3.1-161 (33ms) #> ✔ Built htmlwidgets 1.6.0 (1.1s) #> ✔ Installed htmlwidgets 1.6.0 (22ms) #> ✔ 103 deps: kept 15, upd 2, added 86 [10.2s]
Installs development and optional dependencies as well.
Repositories
List current repositories
pak::repo_get()
#> # A data frame: 5 × 5 #> name url type r_ver…¹ bioc_…² #> * <chr> <chr> <chr> <chr> <chr> #> 1 CRAN https://cloud.r-project.org cran * NA #> 2 BioCsoft https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 3 BioCann https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 4 BioCexp https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 5 BioCworkflows https://bioconductor.org/packages… bioc 4.2.2 3.16 #> # … with abbreviated variable names ¹r_version, ²bioc_version
If you haven't set a CRAN or Bioconductor repository, pak does that automatically.
Add custom repository
#> # A data frame: 6 × 5 #> name url type r_ver…¹ bioc_…² #> * <chr> <chr> <chr> <chr> <chr> #> 1 CRAN https://cloud.r-project.org cran * NA #> 2 rhub https://r-hub.r-universe.dev cran… * NA #> 3 BioCsoft https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 4 BioCann https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 5 BioCexp https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 6 BioCworkflows https://bioconductor.org/packages… bioc 4.2.2 3.16 #> # … with abbreviated variable names ¹r_version, ²bioc_version
Remove custom repositories
#> # A data frame: 5 × 5 #> name url type r_ver…¹ bioc_…² #> * <chr> <chr> <chr> <chr> <chr> #> 1 CRAN https://cloud.r-project.org cran * NA #> 2 BioCsoft https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 3 BioCann https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 4 BioCexp https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 5 BioCworkflows https://bioconductor.org/packages… bioc 4.2.2 3.16 #> # … with abbreviated variable names ¹r_version, ²bioc_version
If you set the repos
option to a CRAN repo only, or unset it completely,
then pak keeps only CRAN and (by default) Bioconductor.
Time travel using RSPM
#> # A data frame: 5 × 5 #> name url type r_ver…¹ bioc_…² #> * <chr> <chr> <chr> <chr> <chr> #> 1 CRAN https://packagemanager.posit.co/c… cran * NA #> 2 BioCsoft https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 3 BioCann https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 4 BioCexp https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 5 BioCworkflows https://bioconductor.org/packages… bioc 4.2.2 3.16 #> # … with abbreviated variable names ¹r_version, ²bioc_version
Sets a repository that is equivalent to CRAN's state closest to the
specified date.
Name this repository CRAN
, otherwise pak will also add a default CRAN
repository.
Time travel using MRAN
#> # A data frame: 5 × 5 #> name url type r_ver…¹ bioc_…² #> * <chr> <chr> <chr> <chr> <chr> #> 1 CRAN https://cran.microsoft.com/snapsh… cran * NA #> 2 BioCsoft https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 3 BioCann https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 4 BioCexp https://bioconductor.org/packages… bioc 4.2.2 3.16 #> 5 BioCworkflows https://bioconductor.org/packages… bioc 4.2.2 3.16 #> # … with abbreviated variable names ¹r_version, ²bioc_version
Sets a repository that is equivalent to CRAN's state at the specified date.
Name this repository CRAN
, otherwise pak will also add a default CRAN
repository.
Caches
By default pak caches both metadata and downloaded packages.
Inspect metadata cache
pak::meta_list()
#> ✔ Updated metadata database: 4.55 MB in 4 files. #> ✔ Updating metadata database ... done #> # A data frame: 43,718 × 32 #> package version depends sugge…¹ license imports linki…² archs enhan…³ #> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> #> 1 A3 1.0.0 R (>= … random… GPL (>… NA NA NA NA #> 2 AATtoo… 0.0.1 R (>= … NA GPL-3 magrit… NA NA NA #> 3 ABACUS 1.0.0 R (>= … rmarkd… GPL-3 ggplot… NA NA NA #> 4 ABC.RAP 0.9.0 R (>= … knitr,… GPL-3 graphi… NA NA NA #> 5 ABCana… 1.2.1 R (>= … NA GPL-3 plotrix NA NA NA #> 6 ABCopt… 0.15.0 NA testth… MIT + … Rcpp, … Rcpp ABCo… NA #> 7 ABCp2 1.2 MASS NA GPL-2 NA NA NA NA #> 8 ABHgen… 1.0.1 NA knitr,… GPL-3 ggplot… NA NA NA #> 9 ABPS 0.3 NA testth… GPL (>… kernlab NA NA NA #> 10 ACA 1.1 R (>= … NA GPL graphi… NA NA NA #> # … with 43,708 more rows, 23 more variables: os_type <chr>, #> # priority <chr>, license_is_foss <chr>, license_restricts_use <chr>, #> # repodir <chr>, rversion <chr>, platform <chr>, #> # needscompilation <chr>, ref <chr>, type <chr>, direct <lgl>, #> # status <chr>, target <chr>, mirror <chr>, sources <list>, #> # filesize <int>, sha256 <chr>, sysreqs <chr>, built <chr>, #> # published <dttm>, deps <list>, md5sum <chr>, path <chr>, and …
Update metadata cache
By default pkg_install()
and similar functions automatically update the
metadata for the currently set repositories if it is older than 24 hours.
You can also force an update manually:
pak::meta_update()
#> ✔ Updating metadata database ... done
Clean metadata cache
pak::meta_clean(force = TRUE)
pak::meta_summary()
#> [1] "/Users/gaborcsardi/Library/Caches/org.R-project.R/R/pkgcache/_metad #> ata" #> #> $current_db #> [1] "/Users/gaborcsardi/Library/Caches/org.R-project.R/R/pkgcache/_metad #> ata/pkgs-d1c324e625.rds" #> #> $raw_files #> character(0) #> #> $db_files #> character(0) #> #> $size #> [1] 0 #>
Inspect package cache
Downloaded packages are also cached.
pak::cache_list()
#> # A data frame: 480 × 11 #> fullpath path package url etag sha256 version platf…¹ built #> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <int> #> 1 /Users/gaborc… arch… NA http… "\"1… 0c8f0… NA NA NA #> 2 /Users/gaborc… bin/… evalua… http… "\"1… 08a39… 0.17 aarch6… NA #> 3 /Users/gaborc… bin/… crayon http… "\"2… 1e6d5… 1.5.2 aarch6… NA #> 4 /Users/gaborc… bin/… common… http… "\"4… 47b4a… 1.8.1 aarch6… NA #> 5 /Users/gaborc… bin/… curl http… "\"b… 7b8ba… 4.3.3 aarch6… NA #> 6 /Users/gaborc… bin/… tinytex http… "\"2… 7e9ba… 0.42 aarch6… NA #> 7 /Users/gaborc… bin/… jsonli… http… "\"1… 68e59… 1.8.2 aarch6… NA #> 8 /Users/gaborc… bin/… lifecy… http… "\"1… 7ce27… 1.0.3 aarch6… NA #> 9 /Users/gaborc… bin/… vctrs http… "\"1… c3a69… 0.4.2 aarch6… NA #> 10 /Users/gaborc… src/… pkgcac… NA NA 9b70a… NA NA 0 #> # … with 470 more rows, 2 more variables: vignettes <int>, #> # rversion <chr>, and abbreviated variable name ¹platform
View a package cache summary
pak::cache_summary()
#> $cachepath #> [1] "/Users/gaborcsardi/Library/Caches/org.R-project.R/R/pkgcache/pkg" #> #> $files #> [1] 480 #> #> $size #> [1] 653325143 #>
Clean package cache
pak::cache_clean()
Libraries
List packages in a library
pak::lib_status(Sys.getenv("R_LIBS_USER"))
#> # A data frame: 701 × 39 #> library package title version depends repos…¹ license needs…² built #> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <lgl> <chr> #> 1 /Users/g… abc "Too… 2.2.1 R (>= … CRAN GPL (>… FALSE R 4.… #> 2 /Users/g… abc.da… "Dat… 1.0 R (>= … CRAN GPL (>… FALSE R 4.… #> 3 /Users/g… abind "Com… 1.4-5 R (>= … CRAN LGPL (… FALSE R 4.… #> 4 /Users/g… ade4 "Ana… 1.7-19 R (>= … CRAN GPL (>… TRUE R 4.… #> 5 /Users/g… ape "Ana… 5.6-2 R (>= … CRAN GPL-2 … TRUE R 4.… #> 6 /Users/g… aplot "Dec… 0.1.7 NA CRAN Artist… FALSE R 4.… #> 7 /Users/g… archive "Mul… 1.1.5 R (>= … CRAN MIT + … TRUE R 4.… #> 8 /Users/g… arrayh… "Con… 1.1-0 NA CRAN GPL FALSE R 4.… #> 9 /Users/g… arrow "Int… 9.0.0 R (>= … CRAN Apache… TRUE R 4.… #> 10 /Users/g… arules "Min… 1.7-5 R (>= … CRAN GPL-3 TRUE R 4.… #> # … with 691 more rows, 30 more variables: remotetype <chr>, #> # remotepkgref <chr>, remoteref <chr>, remoterepos <chr>, #> # remotepkgplatform <chr>, remotesha <chr>, imports <chr>, #> # suggests <chr>, linkingto <chr>, remotes <chr>, remotehost <chr>, #> # remoterepo <chr>, remoteusername <chr>, enhances <chr>, #> # biocviews <chr>, remoteurl <chr>, remotesubdir <chr>, #> # priority <chr>, remoteetag <chr>, remotepackaged <chr>, …
Pass the directory of the library as the argument.