diff --git a/DESCRIPTION b/DESCRIPTION index aa116ff..26171c5 100644 --- a/DESCRIPTION +++ b/DESCRIPTION @@ -1,7 +1,7 @@ Package: Rpacman Type: Package Title: Very simple package manager for R -Version: 1.0.18 +Version: 1.0.19 Date: 2025-11-17 Authors@R: person("Craig", "Williams", email = "craig@avsdev.uk", role = c("aut", "cre")) URL: https://avsdev.uk/R/Rpacman diff --git a/R/restore.R b/R/restore.R index 3822ab3..327eef8 100644 --- a/R/restore.R +++ b/R/restore.R @@ -6,25 +6,33 @@ cl <- parallel::makeCluster(parallel::detectCores() - 1) parallel::parLapply(cl, seq_along(packages$package), function(ridx, packages, installOpts, repos) { options(repos = repos) - do.call(remotes::install_version, c( + opts <- c( packages$package[[ridx]], - ifelse(lockVersion, packages$version[[ridx]], NULL), + version = packages$version[[ridx]], upgrade = "never", dependencies = FALSE, installOpts - )) + ) + if (!lockVersion) { + opts$version <- NULL + } + do.call(remotes::install_version, opts) }, packages, installOpts, getOption("repos")) parallel::stopCluster(cl) } else { lapply(seq_along(packages$package), function(ridx) { cat("Installing", packages$package[[ridx]], "now...\n") - do.call(remotes::install_version, c( + opts <- c( packages$package[[ridx]], - ifelse(lockVersion, packages$version[[ridx]], NULL), + version = packages$version[[ridx]], upgrade = "never", dependencies = FALSE, installOpts - )) + ) + if (!lockVersion) { + opts$version <- NULL + } + do.call(remotes::install_version, opts) }) } }