[英]Puppet custom facts - uninitialized constant Facter (NameError)
非常抱歉,如果我錯過了什么,並且已經回答了,我已經搜索了該站點和Google,但是無論如何都找不到任何東西。
我正在運行Ruby 1.8和Puppet 2.7。 我對這兩者都是新手,但是在過去的幾周中,我與Puppet進行了大量工作,在不降低網站質量的情況下進行接觸:)
我現在想寫一些習慣性的事實。 我一直在嘗試在Puppet文檔站點上找到的說明。 我寫了一個hardware_platform.rb如下:
# hardware_platform.rb
Facter.add("hardware_platform") do
setcode do
Facter::Util::Resolution.exec('/bin/uname -i')
end
end
我猜我應該像這樣運行它:
# ruby hardware_platform.rb
但是當我這樣做時,我得到了這個錯誤:
hardware_platform.rb:3: uninitialized constant Facter (NameError)
有人知道這里可能出什么問題嗎? 我需要克服這個問題才能繼續前進...
謝謝
您可能在腳本頂部缺少require 'facter'
。 還可以通過運行gem install facter
驗證是否安裝了facter gem。
如果要在p所要查找的ruby lib目錄之外的任何地方測試此代碼,請首先設置RUBYLIB。 例如,以目錄名/ path / to / dir進行測試 ,創建lib / ruby / facter / hardware_platform.rb
然后您可以
export RUBYLIB=/path/to/dir/lib/ruby
然后,您可以運行
facter hardware_platform
那應該給你正確的結果。
正如@lucas_clemente所說,您還需要檢查系統中是否安裝了facter。 如果您使用的是yum,則只需使用以下命令進行檢查/安裝,
yum list facter
如果已安裝,則將得到類似的結果;如果未安裝,則將顯示版本庫存在於版本中:
facter.x86_64 1:1.6.12-2.el5 installed
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.