Known issues: https://github.com/PredictiveEcology/Require/issues
oldrel
) and newer are supported.setup
: new function for creating a new project. See readme.md
setLibPath
and package caching (via options("RPackageCache")
) now automatically create and use a subfolder of user-provided path with the R major & minor version number (as with normal R behaviour) to allow multiple R versions to coexist on the same machine.setLibPaths
gains a new argument, updateRprofile
, which allows a user’s changes to .libPaths()
to persist through an R restart. Set to getOption("Require.updateRprofile", FALSE)
, at startparallel
Require
would use the REMOTES: entry. But since that means there is no minimum package version, and Require
does not automatically install a package that is not violating a minimum version number, it would not install anything. Now, it harmonizes the 2 entries for a given package, and uses both the minimum version number and the git branch as the potential source to find that version number.master
or main
branches to be installed from GitHub, without needing to specify (#26)checkPath
error creating Specified path xxxx doesn't exist
even though it does.modifyList2
, a generalization of utils::modifyList
for >2 lists. Also, can handle NULL lists.detachAll
now unloads reverse depends of the depends, if they are loadedpackageVersion.txt
fileLibPaths
from packageVersion.txt
file, if the second (or more) LibPath
is full of base packages.install.packages
(argument "av2" is missing, with no default
) on R-devel for Windows (on Sept 09, 2020). May be transient.source
on Windows. Fixed.pkgSnapshot
, meaning that a new system can be built with exact versions and SHAs of GitHub packages.options("Require.RPackageCache" = "someLocalDir")
is set to a local folder. Currently defaults to NULL, meaning no local cache.Require
and pkgSnapshot
can now understand and work with GitHub SHAs and thus packages installed from GitHub, e.g., Require("PredictiveEcology/Require@development")
will install the development version. When using pkgSnapshot
, the exact SHA will be used to restore that package at the exact version with Require(packageVersionFile = "packageVersions.txt")
.setLibPaths
, it is possible to create a version conflict. base::require
will error if the version in the .libPaths()
is older than the version whose namespace is already loaded. To accommodate this, there is a check for this error, and if the newer version (that is already loaded) does not violate the Require('package (versionSpecification)')
, then it will install the newer version. If it does violate the version specification, it will error cleanly with a message describing the possible solutions.detachAll
that attempts to detach and unload packages and all their dependencies, in reverse topological order.pkgDep
and pkgDepTopoSort
pkgDepAlt
which is an alternative to pkgDep
, yet easier to maintain and still experimental. It is not yet the workhorse inside Require
, but it may become that.Error: invalid version specification ' 3.3-13'
pkgDepTopoSort
now appears to be correct for all types of package descriptions currently allowed by Require
, namely, packages with no version specification, packages with version specification (including older versions), and GitHub packages.chooseCRANmirror(ind = 1)
repos
instead of specifying CRAN repo.reproducible
to Require
, including pkgDep
, pkgDepTopoSort
.pkgDep
did not correctly resolve multiple instances of the same package, each with different minimum version numbering. Now it reports minimum version required for all package dependencies.base::available.packages
for old Mac machines and R versionsinstalled.packages
from test code, as per CRAN requestRequire
(and helpers) which will be removed from package reproducible
Require
is run, the result will be the same