# Dependency Installation CLI The MCUXpresso Installer tool offers command-line support for installing available tools or checking the status of installed ones. The MCUXpressoInstallerCLI executable is included alongside the GUI executable on all operating systems. ## Help command * -h, --help * Display help for commands. ## Check updates command * --check-updates * Check if MCUXpresso Installer has updates. ## Version command * -v, --version * Display the application version. ## Install command * install | i * Used to install packages and components from MCUXpresso Installer. Options: * -h, --help - display help for install command. Provides details about options and the choices for arguments. ![MCUXpresso Installer - Install Help](./pictures/nxp-installer-cli-install-help.png) * -a, --all - install all packages available. * -p, --packages - install one or more packages. * -c, --components - install one or more components. * -d, --dump [file] - export the installation log using json format.The user can provide the name of a new or existing json file. If the file is not provided, a reports directory is created in a default location (the MCUXpresso Installer installation path) and a new file is created there. This file can be used in automation systems to identify components installation status. In the file, there are two details provided: * envUpdate: marked as true when the MCUXpresso Installer added the component to the user's PATH * exitCode: represents the installation status, 0 for success, non-zero integer for failure with corresponding error code. * --undo - undo the latest components installation ![MCUXpresso Installer - Install Packages and Components](./pictures/nxp-installer-cli-install.png) ![MCUXpresso Installer - Install Packages and Components](./pictures/nxp-installer-cli-undo.png) ## List command * list | l * Used to give details about packages and components. Options: * -h, --help - display help for list command. Provides details about options and the choices for arguments. * -a, --all - list all packages and the status of components. * -p, --packages - this option has the possibility to see updates only for some packages. * -c, --components - this option has the possibility to see updates only for some components. * -d, --data - list the data from yaml files which contains the relation between packages and components ![MCUXpresso Installer - List Packages and Components](./pictures/nxp-installer-cli-list.png) * -e, --export [path] - export the version report using json format. The user can provide the name of a new or existing json file. If the file is not provided, a reports directory is created in a default location (the MCUXpresso Installer installation path) and a new file is created there. This file can be used in automation systems to identify packages and components status. In the file, there are multiple details provided: * name: the name of the components * level: * "info" (no action needed) * "warn" (update available) * "error" (component not installed or it does not meet the required minimum version) * installedVersion: the highest version found * versionToBeInstalled: the version that can be installed using MCUXpresso Installer ``` { "MCUXpresso SDK Developer": [ { "name": "CMake", "level": "error", "installedVersion": "3.28.1", "versionToBeInstalled": "3.30.0" }, { "name": "Ninja", "level": "error", "installedVersion": "", "versionToBeInstalled": "1.12.1" }, { "name": "Git", "level": "info", "installedVersion": "2.39.0", "versionToBeInstalled": "2.39.0" }, { "name": "Arm GNU Toolchain Standalone add-ons", "level": "warn", "installedVersion": "13.2.1", "versionToBeInstalled": "13.2.4" }, ... ] } ``` * -u, --updates - this option can be added to the command to show only the components that need updates. ![MCUXpresso Installer - List updates from all packages](./pictures/nxp-installer-cli-list-all-updates.png) **Note**: The list command uses multiple colors to highlight the status of components: * default terminal color - the component is up to date * yellow - an update is available * gray * the component is not installed * the component is installed, but it does not meet the required minimum version **Note**: The options that are using packages name as arguments supports multiple ways to format the package name * Full name "Arm GNU Toolchain" - make sure using double quotes when the package name has spaces. * Replace spaces with special characters or remove them to avoid using quotes - ArmGNUToolchain, Arm-GNU-Toolchain. * The names of the packages are case insensitive: arm-gnu-toolchain. * A package name can match multiple packages: "toolchain" can be used for "Arm GNU Toolchain" and "Standalone Toolchain Add-ons" at the same time.