determine whether an executable is currently available on the user machine (optionally checking for a specific or greater version).
exec_available(exec, version = NULL, error = FALSE)executable identifier, a single character. Use one of these values:
chrome: 'Google Chrome' executable
firefox: 'Mozilla Firefox' executable
libreoffice: 'LibreOffice' executable
node: 'node.js' executable
npm: 'npm' executable
python: 'python' executable
pip: 'pip' executable
excel: 'Microsoft Excel' executable
word: 'Microsoft Word' executable
powerpoint: 'Microsoft PowerPoint' executable
required version of executable
if TRUE, executes an error action if executable
with the required version is not found.
a logical indicating whether the executable is available.
if (exec_available("python")) {
cat("python", as.character(exec_version("python")), "is available!\n")
}
#> python 3.12.4 is available!
if(exec_available("python", "3.9")) {
cat("required version of python is available!\n")
}
if (exec_available("pip")) {
cat("pip", as.character(exec_version("pip")), "is available!\n")
}
#> pip 24.3.1 is available!
if (exec_available("pip", "19.3")) {
cat("pip", as.character(exec_version("pip")), "is available!\n")
}
if (exec_available("chrome")) {
cat("chrome", as.character(exec_version("chrome")), "is available!\n")
}
if (exec_available("firefox")) {
cat("firefox", as.character(exec_version("firefox")), "is available!\n")
}
#> firefox 131.0.3 is available!
if (exec_available("node")) {
cat("node.js", as.character(exec_version("node")), "is available!\n")
}
#> node.js 18.8.0 is available!
if (exec_available("npm")) {
cat("npm", as.character(exec_version("npm")), "is available!\n")
}
if (exec_available("npm", version = "10.13.0")) {
cat("npm", as.character(exec_version("npm")), "is available!\n")
}
if (exec_available("excel")) {
cat("excel", as.character(exec_version("excel")), "is available!\n")
}
if (exec_available("word")) {
cat("word", as.character(exec_version("word")), "is available!\n")
}
if (exec_available("powerpoint")) {
cat("powerpoint", as.character(exec_version("powerpoint")), "is available!\n")
}