R: Are build tools are available?

has_build_tools {pkgbuild} | R Documentation

## Are build tools are available?

### Description

`has_build_tools` returns a logical, `check_build_tools` throws an error. `with_build_tools` checks that build tools are available, then runs `code` in an correctly staged environment. If run interactively from RStudio, and the build tools are not available these functions will trigger an automated install.

### Usage

    has_build_tools(debug = FALSE)

    check_build_tools(debug = FALSE)

    with_build_tools(code, debug = FALSE, required = TRUE)

    local_build_tools(debug = FALSE, required = TRUE,
      .local_envir = parent.frame())

### Arguments

`debug` | If `TRUE`, will print out extra information useful for debugging. If `FALSE`, it will use result cached from a previous run.
`code` | Code to rerun in environment where build tools are guaranteed to exist.
`required` | If `TRUE`, and build tools are not available, will throw an error. Otherwise will attempt to run `code` without them.
`.local_envir` | `[environment]` The environment to use for scoping.

### Details

Errors like `running command '"C:/PROGRA~1/R/R-34~1.2/bin/x64/R" CMD config CC' had status 127` indicate the code expected Rtools to be on the system PATH. You can then verify you have rtools installed with `has_build_tools()` and temporarily add Rtools to the PATH `with_build_tools({ code })`.

It is possible to add Rtools to your system PATH manually; you can use `rtools_path()` to show the installed location. However because this requires manual updating when a new version of Rtools is installed and the binaries in Rtools may conflict with existing binaries elsewhere on the PATH it is better practice to use `with_build_tools()` as needed.

### See Also

has_rtools

### Examples

    has_build_tools(debug = TRUE)
    check_build_tools()

[Package pkgbuild version 1.0.2 Index]