1
我試圖讓我的CHEF腳本足夠聰明,不會嘗試安裝Rails(如果它已經安裝)。下面是我目前正在處理它的方式,但似乎可能有更好的方法。CHEF使用Not_If來檢查程序是否已安裝
execute 'install_rails' do
user 'root'
cwd '/root/'
command "/root/.rbenv/shims/gem install rails -v #{node['rails']['version']}"
not_if "rails -v | grep \'#{node['rails']['version']}\'"
end
有沒有人有更好的方法來做到這一點的經驗嗎?
最初,我曾嘗試過gem_package,但CHEF一直在跳過該資源,因爲它說它已經是最新的,即使Rails尚未安裝。所以我去了,開始用手工方式做。沒有聽說過poise-ruby。我會檢查出來的。 – Chiefwarpaint
如果使用gem包,請確保將gem二進制路徑設置爲資源屬性,以便使用正確的ruby。 – coderanger