puppet-nodejs icon indicating copy to clipboard operation
puppet-nodejs copied to clipboard

Using @bundle/package@version with npm keeps installing the packages

Open delinuxspecialist opened this issue 5 years ago • 0 comments

Affected Puppet, Ruby, OS and module versions/distributions

  • Puppet: 5.5.18
  • Ruby: ?
  • Distribution: CentOS 7
  • Module version: 8.1.0

How to reproduce (e.g Puppet code you use)

$mypackages = ["@molgenis-ui/[email protected]","@molgenis-ui/[email protected]", "@molgenis-ui/[email protected]","@molgenis-ui/[email protected]", "@molgenis-ui/[email protected]","@molgenis-ui/[email protected]", "@molgenis-ui/[email protected]","@molgenis-ui/[email protected]", "@molgenis-ui/[email protected]","@molgenis-ui/[email protected]"] nodejs::npm { $mypackages: ensure => 'present', target => '/var/www/html/molgenis', }

What are you seeing

Reinstalling the packages on every puppet run

What behaviour did you expect instead

Only once installing.

Output log

Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/[email protected]]/Exec[npm_install_@molgenis-ui/[email protected]]/returns: executed successfully (corrective)

Any additional information you'd like to impart

I think the issue lies in the part where the module checks if the package is already installed, the version number after the last '@' is the reason it thinks the package is not installed. Same goes for the comment in Nodejs/npm when you specify 'latest' as a version number.

I worked around it by specifying every package with a version number like : nodejs::npm { '@molgenis-ui/app-manager': ensure => '0.1.4', target => '/var/www/html/molgenis', }

delinuxspecialist avatar Nov 12 '20 12:11 delinuxspecialist