Jump to content

VI Package Manager

From LabVIEW Wiki
(Redirected from VIPM)

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:

  1. Open System Settings.
  2. Select Privacy & Security.
  3. Select Full Disk Access.
  4. 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 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:

  1. Quit Terminal if desired.
  2. Reopen LabVIEW and VIPM.
  3. 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.

  1. 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.
  2. 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.
  3. 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.
  4. 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".
  5. 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.
  6. 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.
Step-by-step guide showing how to fix permissions on the National Instruments folder in macOS to allow VIPM (VI Package Manager) to install and uninstall LabVIEW packages. The annotated screenshot demonstrates accessing the Get Info window, unlocking permissions, adding user access with read/write privileges, and applying changes to all enclosed items within the National Instruments application folder.
Step-by-step guide showing how to fix permissions on the National Instruments folder in macOS to allow VIPM (VI Package Manager) to install and uninstall LabVIEW packages. The annotated screenshot demonstrates accessing the Get Info window, unlocking permissions, adding user access with read/write privileges, and applying changes to all enclosed items within the National Instruments application folder.

See Also

External Links

Third Party Links