VI Package Manager
VI Package Manager (VIPM) is a package management system for LabVIEW created by JKI in 2005. Since LabVIEW 2012, VIPM has been bundled with LabVIEW installations as the standard package manager for the LabVIEW ecosystem. In 2022, NI and JKI announced an expanded partnership that made many previously Pro-only features freely available to all LabVIEW users through the new VIPM LabVIEW Edition.
Overview
VIPM enables developers to install, build, and share reusable LabVIEW code libraries and tools. It functions similarly to package managers in other programming languages (npm, pip, etc.), providing dependency management and consistent development environments across teams.
The 2022 NI-JKI partnership significantly expanded VIPM's free features, making professional package management capabilities available to all LabVIEW users. This includes package building, automation APIs, and project dependency management features that were previously only available in the paid Pro edition.
The system uses .vip files (VI Packages) for distribution and .vipc files (VI Package Configurations) for project dependency management.
Key Features
- Package Installation - Browse and install packages from public repositories including OpenG libraries and the LabVIEW Tools Network
- Package Building - Create distributable packages with custom palettes, pre/post actions, and dependency management
- VI Package Configurations - Create and apply .vipc files for consistent development environments
- Automation - Full API and CLI support for CI/CD integration
- Team Collaboration - Share packages via repositories (Pro feature)
Editions
LabVIEW Edition (Free)
Since 2022, through an expanded NI-JKI partnership, the LabVIEW Edition includes many features previously exclusive to VIPM Pro. This edition is bundled with LabVIEW and available to all LabVIEW users at no additional cost. Features include:
- Full package building with custom palettes and actions
- VI Package Configuration (.vipc) creation and application
- API and command-line interface (CLI) for automation
- Pre/post install, uninstall, and build custom actions
- External package dependency management
- Access to NI Tools Network and VIPM Community repositories
Pro Edition (Paid)
The Pro Edition provides enterprise and advanced features:
- Storing package binaries inside .vipc files (offline distribution)
- NI Third Party Licensing & Activation Toolkit (TPLAT) integration
- Password protection of VIs at build-time
- Creating and managing private team repositories
- Enterprise volume licensing and support agreements
VIPM Community
Advanced features typically reserved for Pro, but restricted to non-commercial use only. This edition provides powerful capabilities for open-source projects, education, and personal learning without commercial licensing restrictions.
For more details about what is included in each edition, view the comparison here: https://docs.vipm.io/vipm-editions-comparison/
Repositories
VIPM connects to multiple package sources:
- VIPM Community - Open-source packages hosted by JKI
- LabVIEW Tools Network - NI-certified add-ons
- Private Repositories - Organization-specific packages via network shares or web servers
Platform Support
VIPM is available for Windows (full support), Linux, and macOS. JKI is actively developing containerized build support using Docker for cloud-based CI/CD workflows.
Installing VI Package Manager on macOS
Starting with LabVIEW 2020 SP1, macOS permissions may prevent VI Package Manager (VIPM) from installing files into the LabVIEW installation directory. Typical symptoms include:
Error Code: 7 Error Code: 8 Write to Text File Operation not permitted VIPM could not install the package
The failing paths commonly include:
LabVIEW 20xx 64-bit/user.lib LabVIEW 20xx 64-bit/vi.lib LabVIEW 20xx 64-bit/menus
The following procedure grants the current macOS user access to those package installation directories without modifying the entire LabVIEW installation or its signed application bundles.
Grant Full Disk Access
Before changing the folder permissions, grant Full Disk Access to both LabVIEW and VIPM.
On current versions of macOS:
- Open System Settings.
- Select Privacy & Security.
- Select Full Disk Access.
- Add or enable:
- VI Package Manager
- The applicable LabVIEW application
On older versions of macOS, this setting is under:
System Preferences → Security & Privacy → Privacy → Full Disk Access
Quit LabVIEW and VIPM completely after changing this setting.
Additional information is available from:
- Configure VIPM to Download LabVIEW Add-Ons for macOS — NI
- File Permission Errors Running VIPM on macOS — VIPM Support
Configure the LabVIEW directory permissions
Open Terminal and set LV to the path of the installed LabVIEW version.
For example, for LabVIEW 2026 64-bit:
LV='/Applications/National Instruments/LabVIEW 2026 64-bit'
Change the year and directory name if a different version of LabVIEW is installed.
Set a variable containing the current user's primary macOS group:
GROUP="$(id -gn)"
Change the group ownership of the primary VIPM package destinations:
sudo chgrp -R "$GROUP" "$LV/user.lib" "$LV/vi.lib" "$LV/menus"
Grant that group read and write access:
sudo chmod -R g+rwX "$LV/user.lib" "$LV/vi.lib" "$LV/menus"
The administrator password will be requested when the first sudo command is run. Terminal does not display dots, asterisks, or other characters while the password is entered. Type the password and press Return.
The uppercase X in g+rwX adds directory traversal permission without indiscriminately making every file executable.
Verify write access
Run the following commands without sudo:
touch "$LV/user.lib/.vipm-write-test" && rm "$LV/user.lib/.vipm-write-test" && echo "user.lib: WRITE OK"
touch "$LV/vi.lib/.vipm-write-test" && rm "$LV/vi.lib/.vipm-write-test" && echo "vi.lib: WRITE OK"
touch "$LV/menus/.vipm-write-test" && rm "$LV/menus/.vipm-write-test" && echo "menus: WRITE OK"
A successful result looks like:
user.lib: WRITE OK vi.lib: WRITE OK menus: WRITE OK
After all three tests succeed:
- Quit Terminal if desired.
- Reopen LabVIEW and VIPM.
- Retry the package installation.
Other package destinations
Some packages may install files into additional LabVIEW directories, such as examples, help, project, templates, or specific directories under resource.
If VIPM reports a permission error for another destination, grant access only to the specific package-content directory named in the error. Do not apply recursive permission changes to the entire LabVIEW installation.
For example:
sudo chgrp -R "$GROUP" "$LV/path/reported/by/VIPM"
sudo chmod -R g+rwX "$LV/path/reported/by/VIPM"
Do not use this procedure on paths inside a LabVIEW application bundle, such as:
LabVIEWCommunity.app/Contents
Errors involving files inside the application bundle are not ordinary VIPM package-destination permission errors.
Important warning
Do not recursively run chmod or chgrp against any of the following:
/Applications/National Instruments /Applications/National Instruments/LabVIEW 20xx 64-bit LabVIEWCommunity.app
A LabVIEW installation may contain signed application bundles and embedded frameworks, including Chromium components. Recursively modifying the entire installation can produce a large number of errors such as:
Operation not permitted
It may also alter permissions on files that VIPM does not need to modify.
In particular, avoid broad commands such as:
sudo chmod -R ... "/Applications/National Instruments/LabVIEW 20xx 64-bit"
Only the directories into which VIPM installs package content should be changed.
Errors not fixed by this procedure
This procedure addresses filesystem permission failures, especially Error 7 or Error 8 errors involving user.lib, vi.lib, or menus.
It does not necessarily resolve errors such as:
Error Code: 42 The file format is invalid VIPM could not download the package
Those messages generally indicate a package download, repository, or invalid package-file problem rather than a LabVIEW directory permission problem.
Legacy macOS Big Sur crash workaround
VIPM 2020 and some versions of LabVIEW could crash on macOS 11 Big Sur with an error containing:
Attempt to pop an empty graphics context stack.
This crash is separate from VIPM package installation permission errors.
First upgrade to VIPM 2020.3 or later. If an affected legacy version must still be used, VIPM documented the following workaround:
defaults write "io.vipm.desktop" NSGraphicsContextAllowOverRestore -bool YES
defaults write "io.vipm.desktop" NSViewAllowsRootLayerBacking -bool NO
For the corresponding LabVIEW crash:
defaults write "com.ni.labview" NSGraphicsContextAllowOverRestore -bool YES
defaults write "com.ni.labview" NSViewAllowsRootLayerBacking -bool NO
See VIPM 2020 Crashing on macOS 11 Big Sur for the original workaround.
- Navigate to the National Instruments folder: In Finder, go to Applications and locate the National Instruments folder. Right-click on it and select "Get Info" from the context menu.
- Unlock the permissions: At the bottom of the Info window, click the lock icon. You'll be prompted to enter your administrator password to make changes.
- Add your user account: In the "Sharing & Permissions" section, click the plus (+) button at the bottom left to add a new user. Select your user account from the list.
- Set read & write privileges: Once your user is added, click on the "Privilege" dropdown next to your username and change it from "Read only" to "Read & Write".
- Apply permissions to all enclosed items: Click the gear/action menu (⋯) at the bottom of the permissions section and select "Apply to enclosed items..." This ensures all subfolders and files within the National Instruments folder inherit these permissions.
- Lock and close: Click the lock icon again to prevent further changes, then close the Info window. VIPM should now be able to install and uninstall LabVIEW packages without permission errors.
