Discovering R Installations
This guide pertains to how R installations are discoverd and show up in the Interpreter picker.
R installation discovery
Positron consults various sources to build the list of available R interpreters:
- Well-known R root folders for the specific operating system:
- macOS:
/Library/Frameworks/R.framework/Versions
- Linux:
/opt/R
- Windows:
%ProgramW6432%/R
(typically resolves toC:/Program Files/R
) and%LOCALAPPDATA%/Programs/R
(typically resolves toC:/Users/username/AppData/Local/Programs/R
)
- macOS:
- The
PATH
, in the sense of the R executable returned bywhich R
- Well-known paths to an R executable or to a symlink that resolves to an R executable, e.g.:
/usr/bin/R
/usr/local/bin/R
/opt/local/bin/R
/opt/homebrew/bin/R
- R installations recorded in the Windows registry, in keys such as:
HKEY_CURRENT_USER\SOFTWARE\R-core\R64\X.Y.Z
HKEY_LOCAL_MACHINE\SOFTWARE\R-core\R64\X.Y.Z
whereX.Y.Z
is a concrete R version, such as 4.4.2.- It’s often possible to discover which of those R versions is considered the current version of R from the registry keys
HKEY_CURRENT_USER\SOFTWARE\R-core\R64\InstallPath
orHKEY_LOCAL_MACHINE\SOFTWARE\R-core\R64\InstallPath
.
Customizing R discovery
If you have an R installation that won’t be discovered by the search strategy described above, two settings are available to instruct Positron to look in additional locations:
positron.r.customRootFolders
: Suitable for R root folders that contain 1 or more R installations.- Hypothetical example:
C:/nonstandardRLocation
- Hypothetical example:
positron.r.customBinaries
: Suitable for specific R executables.- Hypothetical example:
C:/nonstandardRLocation/R-4.4.1/bin/x64/R.exe
- Hypothetical example:
One way to navigate to these settings is to use the command palette to open Preferences: Open Settings. Then navigate to Extensions > R > Advanced. It’s important to use absolute paths in these settings and not rely on shell features, such as parameter expansion (e.g., ${HOME}
).
Unsupported R installations
Positron only supports R 4.2 and higher. Older R versions might be discovered in the search described above, but they will be discarded.
On macOS, Positron only supports the system’s current R version and other R installations that are orthogonal.
What does orthogonal mean here? The R
executable on macOS (and Linux) is actually a shell script that’s responsible for launching R. In an orthogonal R installation, this script targets the home of a specific, concrete version of R, such as /Library/Frameworks/R.framework/Versions/4.4-arm64
. In a non-orthogonal R installation, this script targets the home of the current R version (literally, /Library/Frameworks/R.framework/Resources
, which is a symlink). The CRAN installer leaves a non-orthogonal R installation behind and, by default, removes the previous version of R.
The notion of orthogonality comes from a tool called rig: The R Installation Manager. We highly recommend rig for managing R installation, especially for macOS users who want to have more than one functioning R installation.
Troubleshooting
The discovery process is logged in the R Language Pack channel. You can learn more in the troubleshooting guide.