【问题标题】:Vagrant, Puppet and nodejs module: throwing error on npm module installationVagrant、Puppet 和 nodejs 模块:在安装 npm 模块时抛出错误
【发布时间】:2014-08-02 12:06:19
【问题描述】:

我有以下清单:

include nodejs

package { 'serve':
  ensure => latest,
  provider => 'npm',
}

我正在使用 puppetlab node.js 模块:

http://forge.puppetlabs.com/puppetlabs/nodejs

流浪文件:

Vagrant::Config.run do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = '~/work/environments/default/'
    puppet.manifest_file = 'site.pp'
    puppet.module_path = '~/work/environments/default/modules'
  end

end

当我运行vagrant up 时出现以下错误:

[default] Running provisioner: Vagrant::Provisioners::Puppet...
[default] Running Puppet with /tmp/vagrant-puppet/manifests/site.pp...
stdin: is not a tty
err: /Stage[main]//Package[serve]/ensure: change from absent to latest failed: Could not update: Got nil value for ensure at /tmp/vagrant-puppet/manifests/site.pp:6
notice: /Stage[main]/Nodejs/Package[nodejs]/ensure: ensure changed 'purged' to 'present'
notice: /Stage[main]/Nodejs/Package[npm]/ensure: ensure changed 'purged' to 'present'
notice: Finished catalog run in 14.89 seconds

起初我以为它可能是在安装 npm 之前尝试安装“服务”模块,所以我尝试了require => Package[npm],但结果相同。

那么任何人都可以阐明为什么它没有安装“服务”模块吗?

【问题讨论】:

    标签: node.js npm puppet vagrant


    【解决方案1】:

    我也遇到过这个问题——在我看来 puppetlabs-nodejs 模块实际上并不接受ensure => latest,这与文档相反。当我更改为 ensure => present 时,我的问题得到了解决,并且代码看起来也支持特定版本,例如 ensure => 1.12.4

    【讨论】:

    【解决方案2】:

    似乎正在订购 - 提供者需要 npm 命令,而您还没有。

    尝试将您的清单更改为:

    class { 'nodejs': } -> package { 'serve': ensure => present, provider => 'npm', }
    

    或者,可能:

    include nodejs
    
    package { 'serve':
      ensure => present,
      provider => 'npm',
      require => Package['npm'],
    }
    

    【讨论】:

    • 你如何要求 Package['npm']?好像没有定义(“找不到依赖包[npm]”)
    • 你可以做"require => Class['nodejs'],"
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 2022-01-25
    • 2013-07-28
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    相关资源
    最近更新 更多