tarball
remote in lockfile.yml
.lockbox::lockbox
call.methods::is
.setNames
, packageVersion
, untar
).dir
key.autoinstall: true
for quick development on local packages.tempdir()
may not always be
writable)pkg_name/version/pkg_name
.Added the notion of a transient staging library. Previously, installing packages while lockboxed would conflict with the transient library, since one may overwrite the symlinks in the transient library. Instead of attaching one extra library path (the transient library), we now attach two: the other is the transient staging library, which is simply an empty directory used in conjunction with a task callback to transfer interactively installed packages to the vanilla library.
The location of the transient staging library is fixed to be the
same as the transient library suffixed with _staging
.
options(lockbox.autoload = TRUE)
.lockbox.default
option which, when set to the path of a
lockfile.yml, will load that lockfile after attaching the package
to the search path (note this behavior is disabled if
options(lockbox.autoload = FALSE)
).Assorted fixes to library loading.
When lockbox is attached to the search path while the current directory
is a project managed by lockbox (i.e., has a lockfile.yml somewhere in
a parent directory), the relevant package versions will be autoloaded.
This behavior can be disabled with options(lockbox.autoload = FALSE)
.
The option lockbox.env
for controlling the default environment to
load when calling lockbox::lockbox
.
devtools
, you now have to set GITHUB_PAT
environment variable to install private repos from github.For packages installed from github, the subdir
parameter in the lock file
will be passed to devtools::install_github
during installation.
Added the load
option to elements in the lock file. If set to false
,
the package will not be loaded by default, but will have to be requested
by the user using library(packagename)
.
GIT_PAT
system environment variable to their Github
personal authorization token, private Github repos will be manageable by lockbox.
Check out Github's guide
to understand how to obtain a personal authorization token. It should be a
32 character hexadecimal string.Using the base::addTaskCallback
mechanism, lockbox moves any installed
packages from the transient library to the user's "real" library if
they installed packages in a session that was loaded using lockbox.
This is to ensure that no packages are installed into the transient library or the lockbox library unless they are explicitly in a lockfile.
remote: local
and dir: /your/pkg/dir
.Added a vignette "Libraries in Lockbox" explaining the three different libraries that make lockbox works: the lockbox library, the transient library, and the staging library.
Added internal set of functions in staging.R
to create a virtual library
that is used when installing new packages to lockbox. Prior to this,
installation of new packages that had a non-zero number of dependencies
failed.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.