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',
}
Affected Puppet, Ruby, OS and module versions/distributions
How to reproduce (e.g Puppet code you use)
$mypackages = ["@molgenis-ui/app-manager@0.1.4","@molgenis-ui/core-ui@0.3.1", "@molgenis-ui/legacy-lib@1.1.2","@molgenis-ui/data-row-edit@3.0.3", "@molgenis-ui/metadata-manager@0.1.8","@molgenis-ui/navigator@0.1.3", "@molgenis-ui/one-click-importer@0.1.4","@molgenis-ui/questionnaires@2.0.5", "@molgenis-ui/security@0.2.0","@molgenis-ui/settings@2.0.2"] 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/app-manager@0.1.4]/Exec[npminstall@molgenis-ui/app-manager@0.1.4]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/core-ui@0.3.1]/Exec[npminstall@molgenis-ui/core-ui@0.3.1]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/legacy-lib@1.1.2]/Exec[npminstall@molgenis-ui/legacy-lib@1.1.2]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/data-row-edit@3.0.3]/Exec[npminstall@molgenis-ui/data-row-edit@3.0.3]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/metadata-manager@0.1.8]/Exec[npminstall@molgenis-ui/metadata-manager@0.1.8]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/navigator@0.1.3]/Exec[npminstall@molgenis-ui/navigator@0.1.3]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/one-click-importer@0.1.4]/Exec[npminstall@molgenis-ui/one-click-importer@0.1.4]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/questionnaires@2.0.5]/Exec[npminstall@molgenis-ui/questionnaires@2.0.5]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/scripts@2.0.2]/Exec[npminstall@molgenis-ui/scripts@2.0.2]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/searchall@0.1.4]/Exec[npminstall@molgenis-ui/searchall@0.1.4]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/security@0.2.0]/Exec[npminstall@molgenis-ui/security@0.2.0]/returns: executed successfully (corrective) Notice: /Stage[main]/Profile::Molgenis_nodejs/Nodejs::Npm[@molgenis-ui/settings@2.0.2]/Exec[npminstall@molgenis-ui/settings@2.0.2]/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', }