title: Command Reference
VIPM CLI Command Reference
Use this page to look up syntax, options, and common workflows for the most frequently used VIPM CLI commands. For additional details, remember that vipm help lists every command and vipm <command> --help prints the authoritative help text for a single command.
vipm.toml Commands (Preview)
Looking for vipm init, vipm add, vipm remove, vipm lock, or vipm clean? These commands work with the new vipm.toml project configuration format. See the vipm.toml Getting Started guide for details. For managing NI packages (NIPM) in vipm.toml, see NI Packages (NIPM).
Global Options
These options are available on every command unless noted otherwise. Every command also accepts -h / --help, which prints the authoritative help text for that command.
Exit Codes
Every command returns exit code 0 on success and a non-zero value on failure. The codes are stable — once assigned, a value never changes meaning, so automation scripts can branch on them safely. A given command emits only the subset relevant to its operation; consult the per-command "Common Issues" notes for command-specific guidance.
| Code | Meaning |
|---|---|
0 |
Success |
1 |
Unexpected or unclassified error |
2 |
Invalid arguments or failed input validation. Also covers vipm.lock being stale or incomplete during dependency-state verification (run vipm lock, or pass --allow-package-drift). |
4 |
Requested LabVIEW version is not installed |
6 |
Insufficient edition, license, or activation |
8 |
File system or IO failure |
11 |
LabVIEW build operation failed (compilation error, App Builder failure, etc.) — vipm build only |
12 |
Named build target not found in the project |
13 |
Input file is not a supported type |
14 |
Input file exists but is malformed |
15 |
A required file does not exist |
17 |
Installed packages disagree with the project's declared state in vipm.toml or vipm.lock. Use --allow-package-drift to override. Applies to vipm build and vipm sbom. |
18 |
One or more files referenced by the scanned project could not be found on disk. Use --allow-missing-files to override. vipm sbom only. |
Commands may additionally emit codes not listed here (e.g., authentication, network, or interruption failures). vipm <command> --help is the authoritative source for each command. On failure, stderr always contains a human-readable error message.
Command Quick Look
| Command | Summary |
|---|---|
vipm install |
Install packages, .vipc, .vip, .ogp, or .dragon files. |
vipm uninstall |
Remove packages from the selected LabVIEW installation. |
vipm list |
List installed packages or inspect a .vipc/.dragon file. |
vipm info |
Show metadata and installed files for a package. |
vipm refresh |
Refresh all package sources (VIPM Desktop, CLI cache, NIPM feeds). |
vipm activate |
Activate VIPM Pro using a serial number, name, and email. |
vipm build |
Build packages from .vipb specs or LabVIEW project build specs. |
vipm sbom |
Generate a CycloneDX SBOM from a project or manifest. |
vipm sync |
Reconcile vipm.toml from a LabVIEW project scan. |
vipm version |
Output the CLI and Desktop version numbers. |
vipm about |
Print installation details (paths, versions). |
vipm install
Installs packages from vipm.toml, .vipc, .dragon files, or by name.
Usage: vipm install [OPTIONS] [PACKAGES]...
Options:
--yes/-y is also available as the VIPM_ASSUME_YES=1 environment variable, or use VIPM_NONINTERACTIVE=1 to disable all prompts. See Environment Variables.
Examples
Install a single package:
Install multiple packages and upgrade existing ones:
Apply a configuration file:
Expected output includes progress such as:
Common Issues
- Package not found: Run
vipm refreshand verify the package ID at vipm.io. - Wrong LabVIEW version: Specify
--labview-versionand--labview-bitnessto target the correct environment.
vipm uninstall
Uninstalls one or more packages.
Usage: vipm uninstall [OPTIONS] [PACKAGES]...
Options:
--yes/-y is also available as the VIPM_ASSUME_YES=1 environment variable, or use VIPM_NONINTERACTIVE=1 to disable all prompts. See Environment Variables.
Examples
Expected output:
Common Issues
- Package in use: Close LabVIEW or stop any process locking the files before uninstalling.
- Multiple LabVIEW versions: Provide
--labview-versionif the package exists in more than one installation.
vipm list
Lists packages from a configuration file or shows installed packages.
Usage: vipm list [OPTIONS] [FILE]
Options:
Examples
List installed packages:
Inspect a configuration file:
Expected output:
vipm info
Show metadata and installed files for a package.
Usage: vipm info [OPTIONS] <PACKAGE>
Options:
For managing NI packages in vipm.toml, see NI Packages (NIPM).
Examples
Show metadata for a VIPM package:
Show metadata for an NI package:
List installed files for a package:
vipm search
Searches for available packages by name or description.
Usage: vipm search [OPTIONS] [SEARCH_TERMS]...
Options:
Examples
Search for OpenG packages:
Sample output:
Tips
- Combine multiple terms (e.g.,
vipm search serial communication) to narrow results. - Run
vipm refreshfirst to ensure the latest catalog data before searching in CI.
vipm refresh
Refresh all package sources (VIPM Desktop, CLI cache, NIPM feeds).
Usage: vipm refresh [OPTIONS]
Options:
Refreshes every package source the CLI consults: VIPM Desktop's repository list, the CLI's local cache (repo indexes, specs, database), and any configured NIPM feeds. Scope it to one package manager with --vipm/--no-nipm (VIPM sources only) or --nipm/--no-vipm (NIPM feeds only); --no-cache skips just the CLI cache, and --force re-downloads even when a cached copy looks current.
Example
Common Issues
- Corporate proxy: Configure
http_proxy/https_proxyenvironment variables before running. - Offline environments: Mirror the repository internally and point VIPM to the local server.
vipm activate
Activates VIPM Pro.
Usage: vipm activate [OPTIONS]
Options:
Any argument omitted on interactive terminals will trigger a prompt.
Example Output
Common Issues
- Ensure the serial number is valid and not already in use elsewhere.
- The name and email must exactly match the VIPM account tied to the serial number.
vipm build
Builds project artifacts from various sources (.lvproj and vipm.toml builds require LabVIEW 2024 and newer).
Usage: vipm build [OPTIONS] [BUILD_SPEC]
Options:
For LabVIEW project builds:
vipm build \
--lvproj-build-spec "My Build" \
--lvproj-target "My Computer" \
path/to/project.lvproj
Example Output
Dependency-State Verification
When vipm build runs against a vipm.toml project, it verifies the build environment matches the project's declared dependency state before executing any build target:
- If
vipm.lockexists, the lock is checked for completeness and consistency withvipm.toml. - The installed packages on the host are compared against the lock (or, with no lock, against
vipm.toml's direct dependency specifiers).
If either check fails, vipm build exits without producing any artifact. The error message identifies the specific packages and tells you which command to run to reconcile:
vipm lock— when the lock is out of sync withvipm.toml.vipm install— when an installed package version doesn't match what's declared.
Bare .lvproj/.vipb builds (no vipm.toml) skip this check; there's no manifest to verify against.
To bypass verification for a single invocation, pass --allow-package-drift. The check still runs but failures become stderr warnings instead of hard errors, and the warning lists each drifted package so you see what you're accepting. There is no manifest field for this — the bypass is CLI-only by design.
Exit Codes
See Exit Codes for the canonical reference. vipm build uses codes 0–8, 11–15, and 17. Any non-zero exit means the build artifact was not produced.
Common Issues
- Linux build limitations: Review the VIPM Preview docs for current platform support notes.
- Missing dependencies: Run
vipm install project.vipcbefore invokingvipm buildin CI. - Stale
vipm.lock: After editingvipm.toml, runvipm lockso the lock matches the manifest before building.
vipm sbom
Generate a Software Bill of Materials (supports LabVIEW 2024 and newer).
Usage: vipm sbom [OPTIONS] [INPUT]
Options:
Generates a CycloneDX Software Bill of Materials. See the SBOM documentation for a tutorial and workflow guidance.
Examples
Generate an SBOM from a LabVIEW project:
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--product-name "My Instrument" \
--product-version 2.1.0 \
--output build/bom.json
Scope an SBOM to a specific build specification within a .lvproj:
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--lvproj-build-spec "My EXE Build" \
--lvproj-target "My Computer" \
--output build/bom.json
The resulting SBOM reports only the packages whose code contributes to
that build spec's deliverable — its declared source roots plus whatever
the LabVIEW linker can reach from them. It's a strict subset of (or
equal to) the SBOM for --lvproj-target "My Computer" alone.
What's in the SBOM vs. what's in the build output
--lvproj-build-spec narrows the SBOM to code the build delivers,
not just files LabVIEW copies into the output directory. In
particular, the build-dialog optimization settings (exclude-* /
remove-* — inline SubVIs, typedefs, library items, dependent PPLs,
excluded directories, etc.) do not shrink the SBOM. Those settings
control file-copy behaviour at build time; the linked code from those
files is still part of the deliverable (e.g., an inline SubVI's block
diagram is expanded into every caller; a dependent PPL is runtime-linked
at load time). Reporting them in the SBOM is correct for supply-chain
disclosure.
If the build spec is an Installer or Package type, the command
errors with exit code 2. Those types bundle other build specs'
outputs and declare NIPM dependencies through a different mechanism;
for now, use --lvproj-target to scope to the containing target.
Scope to a specific target without selecting a build spec (useful when running from source without building a binary):
vipm sbom MyProject.lvproj \
--format cyclonedx \
--schema-version 1.5 \
--lvproj-target "My Computer" \
--output build/bom.json
Generate from a vipm.toml, excluding dev-dependencies:
vipm sbom vipm.toml \
--format cyclonedx \
--schema-version 1.5 \
--no-dev \
--output build/bom.json
Expected output on success:
Exit Codes
See Exit Codes for the canonical reference. vipm sbom uses codes 0–8, 12–15, 17, and 18. Any non-zero exit means the SBOM was not produced — the --output file is only written on exit code 0.
On failure, stderr contains a human-readable error message. Example:
error: No LabVIEW installation found for version '2024'.
help: Use 'vipm labview-list' to see available versions
Common Issues
- Missing
--output: The--outputflag is always required.--formatdefaults tocyclonedxand--schema-versiondefaults to1.5, so they can be omitted. - Wrong LabVIEW version: Use
--labview-versionand--labview-bitnessto target the correct installation when scanning.lvprojfiles. --no-devon non-toml input: The--no-devflag is only valid withvipm.tomlinput.
vipm sync
Synchronize vipm.toml with dependencies discovered by scanning a project (supports LabVIEW 2024 and newer).
Usage: vipm sync [OPTIONS] [TARGET]
Options:
TARGET is the vipm.toml to update — if omitted, the CLI searches upward from the current directory.
Examples
Sync vipm.toml from a LabVIEW project:
Preview changes without writing:
Common Issues
- No vipm.toml found: Either specify the target path explicitly or run the command from a directory that contains (or is a child of a directory that contains) a
vipm.toml.
vipm version
Prints the version of the VIPM CLI and VIPM Desktop.
Usage: vipm version
Useful for support tickets and automation logs. Sample output:
vipm about
Prints information about the VIPM installation.
Usage: vipm about
Shows installation information such as install paths and license data. Use vipm about --help to review the latest options.