CRAN has binary versions of packages for Windows and macOS. However, install.packages() will only use these when running in the official CRAN R distribution. If one uses a different R distribution (e.g. from Homebrew or MacPorts on macOS) or compiles R from sources oneself, then install.packages() will not download binaries and will instead compile all packages from sources.
Questions:
- Why does
install.packages()refuse to get binaries from CRAN when running in a non-official R distribution? I assume there is some concern about binary compatibility, and I am looking to gain some technical insight into the reason for that. - How is binary compatibility verified? How does
install.packages()tell whether binaries can be used or not? - What is required to produce a separate R distribution that is (a) compatible with CRAN binaries (b) will be detected as compatible by
install.packages()?