System Requirements
- R 4.0 or later
- C++20 compiler (R 4.3+ on Windows)
- CMake 3.25 or higher (when building with bundled C++)
- Arrow C++ libraries (unless bundling)
Installation Methods
There are several ways to install the Arrow R package:From CRAN (Recommended for Users)
The simplest method for most users:From R-universe
R-universe provides pre-compiled binaries:From Conda
Building from Source
For developers contributing to Arrow R, you’ll want to build from source.Method 1: Using System Arrow C++ Libraries
If Arrow C++ is already installed on your system:Method 2: Bundling Arrow C++ (Development Builds)
For development, the R package can bundle Arrow C++ libraries:# In R console
install.packages(c("devtools", "roxygen2", "pkgdown"))
devtools::install_dev_deps("r")
cd r
# Set options for bundled build
export LIBARROW_BINARY=true
export LIBARROW_MINIMAL=false
# Install with bundled libraries
R CMD INSTALL .
Development Workflow
Quick Development Cycle
For rapid iteration during development:Rebuilding After C++ Changes
If you modify Arrow C++ code:Build Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
LIBARROW_BINARY | Use pre-built Arrow C++ binaries | true |
LIBARROW_MINIMAL | Build with minimal features | false |
LIBARROW_BUILD | Build Arrow C++ from source if needed | true |
ARROW_HOME | Path to Arrow C++ installation | - |
ARROW_R_DEV | Enable development mode | false |
NOT_CRAN | Bypass CRAN-specific restrictions | false |
Feature Flags
Control which Arrow features are enabled:Testing
Run All Tests
Run Specific Test File
Run Tests with Coverage
Integration Tests
Platform-Specific Notes
macOS Architecture
Check your R architecture:Linux: Building from Source
On Linux, CRAN doesn’t provide binaries, so the package often builds from source:Windows: CRAN vs. Development Builds
CRAN binaries on Windows include pre-built Arrow C++. For development:CRAN Release Process
For maintainers preparing a CRAN release:Rscript tools/update-checksums.R <version>
git add -f tools/checksums/
git commit -m "[CRAN] Add checksums"
# Upload to win-builder
# https://win-builder.r-project.org/upload.aspx
# Upload to macOS builder
# https://mac.r-project.org/macbuilder/submit.html
Upload to CRAN submission page.
Troubleshooting
Installation fails with C++20 errors
Installation fails with C++20 errors
Error: Compiler doesn’t support C++20Solution:
- Windows: Upgrade to R 4.3 or later
- Linux: Install gcc 12+ or clang 14+
- macOS: Update Xcode Command Line Tools
Cannot find Arrow C++ libraries
Cannot find Arrow C++ libraries
Error:
Arrow C++ library not foundSolution: Set ARROW_HOME:Segfaults on macOS
Segfaults on macOS
Error: Immediate crash or segfaultSolution: Ensure R architecture matches Mac architecture:Reinstall R if architecture doesn’t match.
Tests fail with 'Cannot find test data'
Tests fail with 'Cannot find test data'
Error: Test data not foundSolution: Set test data paths:
S3/GCS support not available
S3/GCS support not available
Issue: Cloud filesystem features missingSolution: CRAN builds include S3 but not GCS. For GCS, build from source:
Cleaning Build Artifacts
Development Resources
Developer Setup
Detailed environment setup guide
Workflow Tasks
Common development workflows
R Package Docs
R package documentation
CRAN Packaging
Release preparation checklist
Next Steps
- Review the R package development guide
- Check out the contribution guide
- Join the Arrow mailing lists for questions