Add optional library path to pacman

This commit is contained in:
2023-11-30 12:34:16 +00:00
parent 2ddb8a0819
commit 5a12444e74
3 changed files with 10 additions and 6 deletions

View File

@@ -1,7 +1,7 @@
Package: Rpacman
Type: Package
Title: Very simple package manager for R
Version: 1.0.10
Version: 1.0.11
Date: 2022-05-31
Authors@R: person("Craig", "Williams", email = "craig@avsdev.uk", role = c("aut", "cre"))
URL: https://avsdev.uk/R/Rpacman

View File

@@ -6,11 +6,15 @@
#' any user library paths
#'
#' @export
activate <- function(totalIsolation = FALSE) {
activate <- function(totalIsolation = FALSE, lib_path = NULL) {
check_pacman_dir()
pacman_lib_path <- file.path(getwd(), ".pacman/library")
if (!is.null(lib_path)) {
pacman_lib_path <- lib_path
}
if (totalIsolation) {
environment(.libPaths)$.lib.loc <- c(file.path(getwd(), ".pacman/library"), .Library)
environment(.libPaths)$.lib.loc <- c(pacman_lib_path, .Library)
} else {
.libPaths(c(file.path(getwd(), ".pacman/library"), .libPaths()))
.libPaths(c(pacman_lib_path, .libPaths()))
}
}

View File

@@ -60,11 +60,11 @@
#'
#' @import parallel
#' @export
restore <- function(totalIsolation = FALSE, installOpts = list(Ncpus = parallel::detectCores()), parallel = FALSE) {
restore <- function(totalIsolation = FALSE, lib_path = NULL, installOpts = list(Ncpus = parallel::detectCores()), parallel = FALSE) {
old_opt <- options(stringsAsFactors = FALSE)
on.exit(options(old_opt))
activate(totalIsolation)
activate(totalIsolation, lib_path)
get_cran_repo()