❓
FAQ
No.
rcli
makes use of the R binaries from rstudio/r-builds for the respective underlying distribution.No,
rcli
assumes that all runtime dependencies are installed. The easiest way to do so is to install the respective distribution packages first (e.g. r-base-core
on Ubuntu or R
on Fedora) so that all dependencies are installed and then invoke rcli
to install custom versions.The environment variable
PATH
lists all directories in which your shell (e.g. zsh
or bash
) looks for executables. If some paths are missing, your shell will not be able to find (possibly existing) executables. There are many different standard locations where executables can be found and many more reasons why some of these paths are not set within your PATH
env var.PATH
is usually defined by your respective shell profile, e.g. .bashrc
, .bash_profile
, .zprofile
and so on. If for some reason rcli
reported that you're missing a certain entry in your PATH
env var, you can add it in your respective profile by appending your missing path entry to the existing PATH
as follows: PATH=$PATH:<the missing path>
, e.g. PATH=$PATH:/usr/local/bin
.radian
is a Python library and if you're using Python3 on an arm64 machine, you will have the arm64
build installed. Hence, radian will
only work with the R arm64
interpreters.To use
radian
with an x86_64
installation of R, Python (and radian) for the x86_64
architecture would need to be installed.Yes,
x86_64
is supported by macOS via the "Rosetta 2" translation environment. By default, rcli
will install the arm64
version of R (if possible) (R >= v4.1.0). Otherwise the x86_64
version will be installed.To force the installation of
x86_64
versions, pass the --arch x86_64
flag to rcli install
.On a M1 machine one can install both the
arm64
and x86_64
versions of R (the latter supported via Rosetta). If you do so and plan to switch between both architectures, it is recommended not to use ccache
to speed up source installations as the cache created by one of the respective R interpreters will also attempted to be used for the respective other architecture. This will not work and lead to loading failures during load-time, i.e. when calling library(<package>)
.The official macOS installation instructions from CRAN state that only one patch version per minor release can be installed. Is this also true for
rcli
?This is one point where
rcli
tries to help: rcli
enables you to install and switch (between) any patch version of an R minor version (e.g. 4.1.1 and 4.1.2). This is done by applying some symlinking magic behind the scences and outsourcing the system lib of each patch version to /opt/R
/<R version>.rcli
installs the selected R version via the official CRAN installer and moves it Resources/
directory to /opt/R/<R version>
. When switching, rcli
modifies some symbolic links pointing to the "current" version of R specified at /Library/Frameworks/R.framework
and links to static assets of each R version residing at /opt/R
.Unfortunately some paths in the
.dylib
files of R on macOS are hardcoded and point to /Library/Frameworks/R.framework
resources. It is therefore not possible to have multiple "active" and "working" installations side-by-side. This is also stated and explained in the CRAN macOS manual. Every time an R version is switched, some symlink switching is happening which takes only a few seconds. However, due to the limitations mentioned above, one cannot run a different R version than the currently active one in a background job on macOS (this is possible on Windows and Linux).
Last modified 11mo ago