Web site
- rig has a new documentation website at https://rig.r-lib.org/,
including a full CLI reference and a guide to admin vs. user mode.
User mode
-
rig now supports a user mode on all platforms, in addition to the
default admin mode. In user mode rig installs everything into the user's
home directory and never needssudoor administrator privileges. R goes
into~/.local/share/rig/r(%APPDATA%\rig\data\ron Windows) and quick
links into~/.local/bin(%USERPROFILE%\.local\binon Windows). Select
the mode with the--user/--adminglobal flags, theRIG_MODE
environment variable, or themodekey in the rig config file. The new
rig system user-modecommand switches an existing admin-mode setup to
user mode. -
On Linux, rig can now install portable R builds, for glibc- and
musl-based Linux distros. If there is no distro-specific build for your
platform, rig falls back to a portable build automatically.
R package management
- New
rig pkgsubcommand to query and manage R packages. Two subcommands
fromrig reposmoved torig pkg:rig pkg availableand
rig pkg info.rig pkg depslists the packages a package needs, in a
table, andrig pkg treeshows the same dependencies as a tree.
rig pkg listlists the packages installed in a library,
rig pkg removedeletes packages from a library, and
rig pkg installinstalls packages, and their dependencies, into a
library.
Projects
-
New and redesigned
rig projcommands to manage isolated R projects and
virtual environments:rig proj init,rig proj import,rig proj add,
rig proj remove,rig proj lock,rig proj sync,rig proj status. -
New
rig proj treeshows the dependency closure of a project as a tree. -
rig runnow uses the project environment, if you call it in a project
directory: it starts.rvenv/bin/R, with the project's package library
and the R version the project's lock file names, and it syncs the project
first if the environment is missing or out of date. Use--no-project
(or--r-version) to run the default R version instead. -
rig run <name>now runs a script the project declares in a[[bin]]
table of itsrproj.toml, passing the remaining arguments on to the
script.rig run --listlists the declared scripts. -
rig proj synccan now centralize project package libraries outside the
project directory: set theRIG_PROJ_LIBRARY_ROOTenvironment variable or
theproj-library-rootconfig key to a root directory, and each project
gets its own library under it, keyed by project name and location. A
compatibility symlink is left at the project's usual.rvenv/lib.
rig system dirs --library-rootreports the effective root (#372).
Windows specific
-
Windows builds of rig are now signed, thanks to the SignPath Foundation,
https://signpath.org/. -
On Windows rig now creates
.exeshims instead ofbatshims.
With.exeshims it is easier to pass command line arguments to
RandRscript. In particular,Rscript -e <code>now works if
<code>has line breaks. Callrig system make-linksto create all
.exeshims and remove the.batshims. If you hardcoded shims with
a.batextension, change them to.exeor remove the extension
completely (#362). -
New
rig system fix-r-aliassubcommand. -
rig rtoolsis now a top-level command (it used to berig system rtools). -
On Windows,
R CMD confignow works without manually putting Rtools on
thePATH. So doR CMD sh,R CMD makeandrig run --cmd config.
macOS specific
rig sysreqshas been removed. It did not reliably set up a working
Fortran toolchain (#262). Install gfortran from
https://mac.r-project.org/tools instead.
Other new features
-
rig addno longer reinstalls a version that is already installed,
except for R-devel and R-next. Use--reinstallfor force a re-install
(#293). -
rig addcan now install the R version anrenv.lockfile requires,
e.g.rig add renv.lockorrig add path/to/renv.lock(#294). -
New
rig system blascommands, to check and switch which BLAS/LAPACK
library an installed R version uses on macOS, e.g. to switch to Apple's
faster Accelerate/vecLib BLAS (#212). -
New
rig self updateto update rig, newrig self uninstallto remove
rig, if it was installed via the install script. -
New
rig cachecommand to inspect and manage rig's download and build
caches. rig now reflinks or hardlinks packages from the cache when
possible, instead of copying them, to save disk space and time. -
New
rig ppmcommand queries Posit Package Manager. New
rig ppm build-logshows the build log of a package on Posit Package Manager. -
New
rig repos statuschecks the configured package repositories. -
New
rig system fix-aliasesto updateR-release,R-oldreletc.
aliases (#234). -
rig library add,rig library default,rig library listand
rig library rmhave a new--r-version(-r) option, to operate on
the libraries of an R version other than the default one. -
New
rig system dirscommand to show the directories rig uses. With
--r,--binary,--data,--cache,--download,--log,--rtools
(Windows only) or--fonts(Linux only) it prints a single path, for use
in scripts. -
New
rig configcommand to manage the rig configuration file. -
rig run --cmd <command> [args...]now runsR CMD <command> [args...]
with the selected R version. -
rig run -- <flags>now passes raw arguments straight to the R process,
e.g.rig run -- --vanillaorrig run -e '1+1' -- --vanilla(#249). -
Plain
rig run(i.e. without-e/-f/an app/--cmd) now defaults to
--no-save --no-restore, so it no longer shows the "Save workspace
image?" prompt on exit. Userig run -- --save --restoreto get the old
behavior back (#249).
Other changes
-
rig add --without-p3mworks correctly again (#369). -
macOS user mode:
rig defaultnow sets the default R version correctly
for newer RStudio versions. Also,rig system allow-debugger-rstudio
now works for newer RStudio versions. -
rig now uses a user-dependent download directory, to avoid interference
between users. -
rig now does not edit the shell startup files in admin mode,
like rig 0.8.1 did on macOS. rig now only does this in user mode. -
rig repos availablenow prints a compact table. New
rig repos available <name>shows complete information about a single
repository. -
rig system setup-user-lib(and itscreate-libalias) now works again. -
rig rstudio --config-pathis now implemented on Linux and macOS. -
rig now warns instead of failing when it encounters a broken R
installation (#346).