2012-11-11 14 views
6

私は次のマニフェストがあります。私はpuppetlabを使用していますベイグラント、人形nodejsモジュール:NPMモジュールのインストールでエラーを投げ

include nodejs 

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

は、Node.jsのモジュール:

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

Vagrantfileを:

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]試みたが、それは同じ結果を与えました。

「サーブ」モジュールをインストールしていない理由を誰にでも見せることができますか?

答えて

8

注文しているようです - プロバイダーにはまだ持っていないnpmコマンドが必要です。

ような何かにあなたのマニフェストを変更してみてください。おそらく、代わりに

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

include nodejs 

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

パッケージ['npm']はどのように必要ですか?それは定義されていないようです( "依存パッケージ[npm]"を見つけることができませんでした) – Karan

+0

"require => Class ['nodejs']" –

11

を私もこの全体に走った - puppetlabs-nodejsモジュールがないように、それは私には見えます実際にはensure => latestを受け入れますが、これはマニュアルに反するものです。 ensure => presentに変更したときの私の問題は修正されました。具体的にはensure => 1.12.4などの特定のバージョンをサポートするようにコードが検討されています。

+0

これは正しい答えです! –

+0

これを修正するプルリクエストが開かれていますが、誰かがそれを修正するのを助けたいと思っているのであれば、現在トラビスのビルドに失敗しています:https://github.com/puppetlabs/puppetlabs-nodejs/pull/78 – ScottSB

関連する問題