2017-07-04 5 views
0

Wir erstellen einen Anbieter für eine Ressource. Es steht für das Erstellen eines Mongo-Benutzers in eine gegebene Datenbank.Chef: Juwel Abhängigkeit vom Anbieter

Wir suchen nach mongo ruby ​​driver, um Benutzer auf db zu erstellen. Trotzdem sind wir diese Nachricht bekommen:

================================================================================ 
    Recipe Compile Error in /tmp/kitchen/cache/cookbooks/living_mongo/libraries/provider_user.rb 
    ================================================================================  LoadError 
    --------- 
    cannot load such file -- mongo  Cookbook Trace: 
    --------------- 
    /tmp/kitchen/cache/cookbooks/living_mongo/libraries/provider_user.rb:1:in `<top (required)>'  Relevant File Content: 
    ---------------------- 
    /tmp/kitchen/cache/cookbooks/living_mongo/libraries/provider_user.rb:   1>> require 'mongo' 
    2: 
    3: # Chef Provider for creating a user and group for Elasticsearch 
    4: class LivingMongoCookbook::UserProvider < Chef::Provider::LWRPBase 
    5: 
    6: provides :living_mongo_user 
    7: 
    8: def whyrun_supported? 
    9:  true 
    10: end 

Es scheint wie Mongo-Treiber ist nicht verfügbar.

Irgendwelche Ideen?

+1

Fügen Sie ein 'chef_gem 'mongo'mit' compile_time true' hinzu, damit das Juwel in den Küchenchef (s Ruby, bevor Ihr Anbieter läuft) (Siehe [chef_gem] (https://docs.chef.io/resource_chef_gem.html) Dokumentation) – Tensibai

+0

Ho, und an einem Punkt müssen Sie "Mongo" verlangen, bevor Sie seine Klasse aufrufen ... – Tensibai

Antwort

0

Vorausgesetzt, Sie haben eine kürzlich-ish Chef-Version und der Edelstein erfordert keinen C-Compiler, fügen Sie gem 'mongo' zu metadata.rb und Chef kümmert sich um die Installation für Sie.

Verwandte Themen