Recent Releases of packrat
packrat - packrat 0.9.3
- Update vendored
renvwith support for additional Linux distributions when normalizing and transforming Posit Package Manager URLs. (#725) - Improve package installation in a multi-process environment. Do less work
when a target package is in the cache and write package
DESCRIPTIONupdates to temporary files before persisting. (#720) - When determining the package source, consider
biocViewsbeforeRepository. Recent Bioconductor packageDESCRIPTIONfiles include theRepositoryfield, which caused Packrat to believe that those packages originated from a CRAN-like repository, not Bioconductor. (#729) - Attempt package downloads from multiple package repository archive layouts. Paths used by CRAN-like, Nexus, and older Artifactory repositories are supported. (#583)
- Attempt URL downloads fewer times before giving up.
- Rename files downloaded from a package repository when the name is not
name_1.2.3.tar.gz, as can happen with r-universe. (#731)
- R
Published by aronatkins about 1 year ago
packrat - CRAN Release v0.9.1
Packrat 0.9.1
- Fix an issue where Packrat would fail to restore packages installed from subdirectories of SCM repositories (GitHub, GitLab, Bitbucket). (#704)
- R
Published by aronatkins over 3 years ago
packrat - CRAN Release v0.9.0
Packrat 0.9.0
- Packrat now supports restoring packages hosted in private repositories on
GitHub, GitLab, and Bitbucket. To enable this, set the option
packrat.authenticated.downloads.use.renvtoTRUE.curlmust be available on your system to take advantage of this capability. For authenticated downloads, you must makeGITHUB_PAT,GITLAB_PAT, and/orBITBUCKET_USERNAMEandBITBUCKET_PASSWORDavailable in Packrat's environment, as appropriate. These environment variables are hidden from package install processes. - Correctly discover dependencies in a project beneath a directory hierarchy containing "data". (#684)
- Take an
renvupdate to include a fix regardingdownload.file.methodhandling. (#683) - Packrat now masks environment variables commonly used for Git service account
authentication from subprocesses used to install packages. This behavior can
be disabled by setting the option
packrat.mask.git.service.envvarstoFALSE. (#682) - Users can mask additional arbitrary environment variables from the sub-process
that run package installation tasks, by setting the option
packrat.masked.envvarsto a character vector of variable names to mask. These variables are masked whether or notpackrat.mask.git.service.envvarshas been set toFALSE. (#682) - Change how Packrat selects a
tarbinary. Previously, Packrat would force the use of R's internaltarimplementation, which cannot handle long filepaths. Now, if aTARenvironment variable exists, Packrat will use that. Otherwise, it will either look for atarbinary on thePATHon Unix, or look for the systemtaron Windows. If no binary is found in those locations, it will use R's internaltarimplementation. (#648) - Allow GitLab downloads from repositories having paths (#699).
- Update some RStudio references to Posit.
- R
Published by aronatkins over 3 years ago
packrat - CRAN Release v0.8.1
Packrat 0.8.1
Fixed a bug preventing successful downloads of private GitLab and Bitbucket archives during restore. (#671)
Allow GitLab downloads from private repos to be authenticated with
GITLAB_PATenvironment variable. This method of authentication replaces theGITLAB_USERNAMEandGITLAB_PASSWORDvariables, which are not supported by GitLab. (#673)
- R
Published by aronatkins almost 4 years ago
packrat - CRAN Release v0.8.0
Packrat 0.8.0
Stop using
devtools::github_patto obtain an (optional)GITHUB_PATenvironment variable value. Thegithub_patfunction was removed indevtools-2.4.3. (#651)Use authenticated downloaders for GitHub, GitLab, and Bitbucket when the
httrpackage is installed and the appropriate credentials are available.Provide more information about authenticated download failures.
Handle GitLab packages located in a repository sub-directory. (#660)
Hash
RemoteType: urlpackages as though they came from a CRAN-like repository. Improves cache reuse for packages originally installed byremotes<2.0.2. (#652)The
packrat::set_optsfunction andpackrat::optssingle-option setter no longer overwrite previously written in-memory state. (#655)The 'packrat::opts$ignored.packages()' project option ignores recursive package dependencies in addition to direct package dependencies. (#654)
Use a bundled
renvto perform dependency detection. Avoids a number of evaluation issues and side-effects. (#644)Take an
renvupdate to avoid an implicit dependency on thequartopackage for all*.qmdcontent.
- R
Published by aronatkins about 4 years ago
packrat - CRAN Release v0.6.0
Packrat 0.6.0
BREAKING CHANGE: The default Packrat cache directory has changed, and now includes an R version suffix. This helps avoid populating a single cache with versions of packages compiled for different versions of R (as there is no guarantee that packages compiled for e.g. R 3.4.x will work with R 3.5.x). If you'd like to migrate your old Packrat cache directory, you can move the directory at
dirname(packrat:::appDataDir())topackrat:::appDataDir().Packrat now only queries binary repositories for available packages during installation if
getOption("pkgType") != "source".Packrat no longer attempts to unload packages loaded from the user library after calling
packrat::init(), as this could fail in a myriad of cases. (To ensure proper isolation of the session, you should still restart R after invokingpackrat::init()).Packrat now properly annotates the RemoteType field when downloading packages from GitLab and Bitbucket. (#564)
Packrat no longer removes old source packages during a restore. (#560)
Added support for GitLab: packages downloaded from GitLab can now be restored by Packrat. (#562, @akgold)
Fixed an issue where tangled R code chunks containing invalid R code prevented Packrat from finding any dependencies. Packrat will now look for package dependencies within each code chunk independently. (#551)
Packrat no longer sets
LC_ALL=Cwhen building source packages, as this can lead to errors when building packages containing non-ASCII text. (#545)Fixed an issue where ignored packages would still be queried by
packrat::unused_packages(), which affected other APIs likepackrat::clean(). (#525)Fixed an issue where newly-added project options did not get their correct default value when no entry existed within the
packrat.optsfile. (#496)Improve performance of dependency processing. (#615)
Infer package dependencies from
requireNamespace()andloadNamespace()only when the package name is character input. (#602)
- R
Published by aronatkins almost 5 years ago
packrat - CRAN Release v0.7.0
Packrat 0.7.0
Fixed an issue where Packrat could inadvertently execute non-R code chunks when scanning R Markdown documents for dependencies.
Fixed an issue where a knitr warning would be emitted when scanning an R Markdown document containing unknown or un-registered knitr engines. (#639)
Packrat identifies additional code dependencies, including package references used to define function argument default values. (#630)
Added support for extracting R package dependencies from Quarto documents and websites.
- R
Published by aronatkins almost 5 years ago
packrat - CRAN Release v0.5.0
Packrat 0.5.0
Packrat now supports both of BiocManager and BiocInstaller (as used for discovering the Bioconductor repositories active for the current project). BiocManager will be used for R >= 3.6.0; BiocInstaller will be used otherwise.
The R option
packrat.dependency.discovery.disabledcan be set to TRUE to disable dependency discovery in projects. This can be useful if you find Packrat's dependency discovery is slow (as it can be in projects containing a large number of R Markdown files). (#513, @ras44)The scheme used for hashing packages that enter the Packrat cache has changed -- now, a defined ordering of fields is used when hashing a package's DESCRIPTION file. Note that this implies a package may need to be re-cached on restore, in the case that its hash has changed. This change should not affect any existing packages in the cache. (#505, @aronatkins)
packrat::with_extlib()now works with nopackagesprovided; both with and without this option, the new behavior is thatexpris executed in an environment where the original (not packrat) library search path is in place.A project is now only considered 'packified' if it has both a Packrat lockfile as well as the associated autoloader in the project
.Rprofile.Calling
packrat::init()on a project that already contains a Packrat lockfile no longer attempts to re-snapshot and restore the project.Packrat now supports R packages available on BitBucket, courtesy of a PR from @mariamedp. (#481)
Added the project option
symlink.system.packages: users can now configure whether base R packages from the system library are symlinked into a private librarypackrat/lib-R. Disabling this can be useful if you intentionally want Packrat to use packages that have been installed into the system library.Fixed an issue where attempts to snapshot could fail when the R libraries live on a network drive.
- R
Published by kevinushey over 7 years ago
packrat - CRAN Release v0.4.9-1
Packrat 0.4.9-1
- Fix test errors on CRAN.
- R
Published by kevinushey over 8 years ago
packrat - CRAN release v0.4.9
Packrat 0.4.9
Packrat now understands how to install R packages from private GitHub repositories. (The
GITHUB_PATenvironment variable should be set with an access token that provides access to the associated repositories.) (#449, #448, @ras44)Packrat gained the
get_lockfile_metadata()andset_lockfile_metadata()functions, for changing metadata associated with a particular Packrat project; e.g. the active R version, or the active set of repositories. (#429, @cderv)Packrat now ignores all source files within a
packrat/directory when inferring dependencies, not just thepackrat/directory discovered at the top level. (#385)Packrat no longer includes the
.Rhistoryfile when creating bundles. (#401)Packrat now properly handles the plain 'http' protocol when using versions R >= 3.2. (We now set
options(download.file.method = "wininet")rather thanoptions(download.file.method = "internal")in such cases.)The
infer.dependenciesargument can now be used to switch off the scanning of code for dependencies when usingpackrat::init()andpackrat::snapshot().Packrat no longer fails to download the current version of a package if the binary and source branches of the active repositories are out of sync.
Packrat now attempts to parse scripts using UTF-8 encoding in addition to the system encoding. This should primarily help users on Windows who (rightly) save their documents using UTF-8 encoding rather than the default system encoding.
Packrat now screens out empty package names discovered during package dependency discovery. (#314)
The Packrat global cache is now enabled on Windows. Junction points (rather than symbolic links) are used to populate entries in the private Packrat library.
The 'lib-R' and 'lib-ext' directories now use architecture-specific sub-directories for their libraries. This should further help in cases where multiple versions of R are operating within a Packrat project at the same time.
Packrat now better handles cases where non-symlink files find their way into the 'lib-R' and 'lib-ext' folders.
Packrat now better handles packages that contain trailing newlines in their DESCRIPTION file -- it now avoids inserting intervening blank lines between records, which should resolve the 'Error: contains a blank line' error that can occur during package installation.
Packrat now only checks for the 'BiocInstaller' package within the Packrat private library, when attempting to ascertain whether Bioconductor is used by a particular project.
Packrat no longer automatically restores projects on startup when Packrat is not detected within the library directory.
Packrat now more eagerly caches packages during
packrat::restore()-- packages will be immediately cached following successful installation, rather than at the end of the restore process. (#324)Packrat now better handles cases where multiple R processes attempt to write the same package to the cache at the same time. (#333)
Packrat now properly checks whether a package exists in the cache before attempting to copy / symlink that package to the active library directory. (#335)
Users can now control whether Packrat snapshots sources by setting the
R_PACKRAT_SNAPSHOT_SOURCESenvironment variable to a 'truthy' value, or by setting the R optionpackrat.snapshot.sources.Packrat now provides APIs for accessing the active paths to resource directories, with:
packrat::project_dir(project)packrat::src_dir(project)packrat::lib_dir(project)packrat::bundles_dir(project)
See ?packrat-resources for more details.
- Packrat better preserves the pre-existing contents of ignore files. (#332)
- R
Published by kevinushey over 8 years ago
packrat - Packrat 0.4.2
Packrat 0.4.2
- Packrat properly infers whether a project is an R package. A project
with a
DESCRIPTIONfile that has noType:field, or has theType: Packagefield, will be considered as anRpackage. - Custom library paths can be set through the
R_PACKRAT_LIB_DIRenvironment variable, which can be useful when using Packrat for non-local dependency management or deployment. - A bug in the propagation of BioC repositories was fixed.
- Symlinks to
Rpackages are created and destroyed more conservatively; this should help prevent problems where multipleRprocesses are acting within a single Packrat project. - The autoloader was not properly created in rare cases (thanks, @krlmlr!)
install_localnow forceslibandreposto be passed as named arguments, to avoid insidious errors. (#162)- Packrat no longer removes the lockfile on
disable; rather, it simply removes the autoloader. (#161) - Packrat projects can now be non-interactively bootstrapped using the command:
R --vanilla -f packrat/init.R --args --bootstrap-packrat. (#158) packrat::bundle()gains an 'omit.cran.src' argument, for ignoring package sources that are retrievable from CRAN. (#156)- Packrat now understands how to install packages from custom CRAN-like repositories. (#153)
- Packrat now infers itself to be a git-managed project if any of its parent
directories contains a
.gitfolder. This ensures packrat projects included as sub-directories of a git-managed folder are properly understood as git-managed projects. packrat::bundle()gains an 'include.vcs.history' argument, for specifying whether VCS history folders (e.g..git/,.svn/) should be packaged as part of the bundle. (#159)packrat::bundle()gains an 'include.bundles' argument, for specifying whether previously generated bundles are included as part of new bundles.- Packrat now properly bundles projects on Windows (files in the packrat folder were not properly bundled when using the internal version of R's tar) (#152)
- Packrat gains the 'load.external.packages.on.startup' option, to control whether external packages are loaded on startup.
- Allow users to specify packrat itself as an external package (experimental, #147)
- The automatic snapshot mechanism now re-uses the
available.packages()cache, to avoid unnecessary internet requests to CRAN. packrat::status()no longer asks you to uninstall packages that are found within theSuggests:field of the project's R package dependency chain, but does not require you to track these packages in the lockfile either. (#109)- Downloads are now retried (up to a default of 5 times) on failure -- this should help with intermittent timeouts when e.g. downloading archives from GitHub. (#134)
- Packrat now adds
.Rprofileto the.Rbuildignorefile used for package development. (#138)
- R
Published by kevinushey over 11 years ago