Use this function to install the latest release of arrow, to switch to or from a nightly development version, or on Linux to try reinstalling with all necessary C++ dependencies.

  nightly = FALSE,
  binary = Sys.getenv("LIBARROW_BINARY", TRUE),
  use_system = Sys.getenv("ARROW_USE_PKG_CONFIG", FALSE),
  minimal = Sys.getenv("LIBARROW_MINIMAL", FALSE),
  repos = getOption("repos"),



logical: Should we install a development version of the package, or should we install from CRAN (the default).


On Linux, value to set for the environment variable LIBARROW_BINARY, which governs how C++ binaries are used, if at all. The default value, TRUE, tells the installation script to detect the Linux distribution and version and find an appropriate C++ library. FALSE would tell the script not to retrieve a binary and instead build Arrow C++ from source. Other valid values are strings corresponding to a Linux distribution-version, to override the value that would be detected. See vignette("install", package = "arrow") for further details.


logical: Should we use pkg-config to look for Arrow system packages? Default is FALSE. If TRUE, source installation may be faster, but there is a risk of version mismatch.


logical: If building from source, should we build without optional dependencies (compression libraries, for example)? Default is FALSE.


character vector of base URLs of the repositories to install from (passed to install.packages())


Additional arguments passed to install.packages()

See also

arrow_available() to see if the package was configured with necessary C++ dependencies. vignette("install", package = "arrow") for more ways to tune installation on Linux.