diff --git a/manifests/install.pp b/manifests/install.pp index e6db8d04..993bb817 100644 --- a/manifests/install.pp +++ b/manifests/install.pp @@ -45,9 +45,17 @@ # npm if $nodejs::npm_package_name and $nodejs::npm_package_name != false { + # the nodesource nodejs packages provide "npm" which makes Puppet + # try to uninstall them again + if $nodejs::npm_package_ensure == absent and $nodejs::manage_package_repo == true and $nodejs::repo_class == 'nodejs::repo::nodesource' { + $allow_virtual = false + } else { + $allow_virtual = undef + } package { $nodejs::npm_package_name: - ensure => $nodejs::npm_package_ensure, - tag => 'nodesource_repo', + ensure => $nodejs::npm_package_ensure, + allow_virtual => $allow_virtual, + tag => 'nodesource_repo', } } diff --git a/manifests/params.pp b/manifests/params.pp index ff11fa3f..32e7c7a4 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -41,7 +41,7 @@ $nodejs_dev_package_name = 'nodejs-devel' $nodejs_dev_package_ensure = 'absent' $nodejs_package_name = 'nodejs' - $npm_package_ensure = 'present' + $npm_package_ensure = 'absent' $npm_package_name = 'npm' $npm_path = '/usr/bin/npm' $repo_class = 'nodejs::repo::nodesource'