2014-03-27 156 views
1

我得到的消息:流浪木偶類未找到錯誤

木偶::分析器:: AST ::資源失敗,錯誤引發ArgumentError:找不到在/ tmp目錄/遊民木偶-1類聲明的git /manifests/site.pp:15節點上vagrant-ubuntu-precise-64.wp.comcast.net

也許最好的想法是看到這在行動。我創建了一個我正在使用的確切清單的GitHub倉庫。它在這裏: https://github.com/jamorat/puppet-example

清單和git模塊在那裏。如果你有流浪者,這可以是vagrant up,你會看到自己的錯誤。在這裏接受答案和/或作爲承諾(在這裏仍然會給出信用以回答)會很酷。

非常感謝!

回答

5

您需要configure vagrant與木偶模塊路徑好好讀書。在附註中,您通常也會將清單和模塊文件夾保存在同一個文件夾中,而不是清單中的模塊。

+0

謝謝,克里斯 - 但具體哪些步驟我需要採取? –

+1

@ user3078326您需要將'puppet.module_path'設置爲您的模塊所在的位置,在您的情況下爲''manifests \ modules「'。 –

+0

非常感謝!我很欣賞這個正確的答案。只是一個想法,但我會鼓勵將您的評論中的信息添加到原始答案中。它擊中了腦袋上的指甲。再次感謝你。 –

0

此:

class{ git: 
svn => 'installed', 
gui => 'installed', 
} 

告訴傀儡創建基於具有2個參數的類名爲git的資源:SVN和GUI。這樣的類聲明並不存在於你發佈的任何地方。如果是這樣,它看起來像這樣:

class git ($svn, $gui) { 

    package {'svn': 
    ensure => $svn, 
    } 

    # Whatever 'gui' is, making package b/c use of "installed" 
    package {'gui': 
    ensure => $gui, 
    } 
} 

另一種方法是聲明一個類,並使用「include」指令包含它。

推薦的Language: Classes

+0

只是好奇,如果你看過git回購?我很欣賞這種迴應,但它缺少信息。是的,git類在模塊中作爲一個文件夾,所以我認爲你的回答並不能解釋這一點。但我非常感謝你的嘗試。 –

+0

只是好奇,如果你試圖流浪我的回購在我提供的github鏈接我在https://github.com/jamorat/puppet-example這是你可以看到實際的pp和實際的目錄結構(git的地方模塊是。) –

+0

啊,只是在這裏發生了什麼。檢查你的puppet.conf。它應該有一個清單和模塊設置,告訴它們可以在哪裏找到每個。通常它是/ etc/puppet/manifest和/ etc/puppet/modules。 site.pp進入清單目錄,模塊目錄中的git模塊。錯誤消息肯定是說它不能找到git模塊。 – rojs