NIPM Package Dependencies Install on Development Machine, Not Others

Updated Jun 22, 2018

Reported In

Software

  • Package Manager

Issue Details

I built a package containing dependencies (related packages) in LabVIEW's Package Builder and added that package to a user-created feed.  The package created can be installed on the development system - the machine on which the package was built - after registering the feed but fails when installing to other machines with only NI Package Manager installed.  It returns the following error, Nothing provides <dependency> needed by <dependent package>:

Solution

When specifying a related package as a dependency while creating the package in your feed, Package Builder will not include multiple packages in that package's install; it will only reference the dependent package you are trying to install and will search for package in other registered feeds on the machine on which you are installing the overarching feed.  If no registered feeds with that package already exist on the installation machine, NIPM will not be able to find the dependent packages and the install of your feed may fail.  

To ensure that dependent items are added correctly, make sure your dependent files are part of a feed that is registered on the machine you're installing onto or are part of another package in the feed you are registering on the new machine.  

Additional Information

When you create a package, you specify dependencies for that package but don’t provide installation media or an explicit way to get them - this is handled by the feed.  When a package is installed, NIPM calculates the dependencies required by the package being installed, first checks the system to see if they are already installed, then it checks to see if the dependencies are provided by the feed that your package exists in, and then lastly it checks to see if any feed registered on your system contains the dependency.

If NIPM cannot locate your package's dependency in 1.) a package in the same feed, or 2.) any feeds that have already been registered on the system, we get this error.

In the case of a runtime engine, the development system will already have the RTE installed.  When installing packages from a feed on a clean machine, the RTE package was not included in the feed that we created and it wasn’t already installed on the system and results in an error. 

WAS THIS ARTICLE HELPFUL?

Not Helpful