has_build_tools: Are build tools are available?

View source: R/build-tools.R

has_build_toolsR Documentation

Are build tools are available?


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.


has_build_tools(debug = FALSE)

check_build_tools(debug = FALSE, quiet = FALSE)

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

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



If TRUE, will print out extra information useful for debugging. If FALSE, it will use result cached from a previous run.


if TRUE suppresses output from this function.


Code to rerun in environment where build tools are guaranteed to exist.


If TRUE, and build tools are not available, will throw an error. Otherwise will attempt to run code without them.


The environment to use for scoping.


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_build_tools(debug = TRUE)

pkgbuild documentation built on Nov. 27, 2022, 5:05 p.m.