Note also that if you use conda to manage your R environment, this document does not apply. If you’re contributing to the Arrow project, you’ll probably want to manage your C++ installation more directly. The intended audience for this document is arrow R package users on Linux, not developers. This document describes how it works and the options for fine-tuning Linux installation. Our goal is to make install.packages('arrow') “just work” for as many Linux distributions, versions, and configurations as possible. Generally for R packages with C++ dependencies, this requires either installing system packages, which you may not have privileges to do, or building the C++ dependencies separately, which introduces all sorts of additional ways for things to go wrong. On Linux, install.packages() retrieves a source package that has to be compiled locally, and C++ dependencies need to be resolved as well.
On macOS and Windows, when you install.packages('arrow'), you get a binary package that contains Arrow’s C++ dependencies along with it.