9

ここで非常に愚かなことをしている可能性がありますが、これを引き起こしている原因に関するドキュメントは見つかりません。

Puppet を使用して Vagrant VM をセットアップし、 mongodbモジュール内の特定の設定をオーバーライドしようとしています。

私が知る限り、そのレポでは README.md 構文が正しくありません (私も試しましたが)。

私のマニフェスト:

include mongodb

class { 'mongodb' :
port => '1111';
}

実行するvagrant upと、次のエラーが発生します。

Duplicate declaration: Class[Mongodb] is already declared; cannot redeclare at /tmp/vagrant-puppet/manifests/mongodb.pp:5 on node www

構成のオーバーライドを削除すると、完全に機能しますが、機能しない理由はありません。

4

2 に答える 2

9

同じことを達成するために 2 つの表記法を使用していますが、2 番目の表記法でのみパラメーターを使用できます。つまり、2回宣言しています。

したがって、「mongodb を含める」を失うだけで問題ありません。

詳細: http://docs.puppetlabs.com/puppet/2.7/reference/lang_classes.html#declaring-a-class-with-include

于 2013-02-01T06:06:42.940 に答える
1

はい、単純にinclude mongodb行を削除してください。それはうまくいきますが、class { 'mongodb': ... }まだ残っていることを確認してください。それ以外の場合は、使用include mongodb

于 2013-02-19T07:56:22.550 に答える