我有一個食譜這是設定一些簡單的 apache 配置,我正在使用 apache2 食譜超市場。
我正在嘗試使用 AWS OpsWorks 和 Chef 11.10 來運行我的食譜食譜。
當我嘗試在 OpsWorks 中運行配方時,出現以下錯誤:
Missing Cookbooks:
------------------
Could not satisfy version constraints for: apache2
我想知道是否發生了什麼事,因為 OpsWorks 已經有一個apache2
版本的食譜1.0.0
,而我的食譜取決於3.0.1
我想從超市購買的版本,所以版本不匹配。
到目前為止,我還沒有嘗試完全覆蓋apache2
OpsWorks 自動附帶的說明書,如果可能的話,這可能是理想的選擇。
我可以嘗試什麼想法或想法嗎?
答案1
OpsWorks 中的配方名稱衝突是一個眾所周知的問題。
一種選擇是下載社區食譜並將其重命名為 apache-community 之類的名稱,並將其與其餘食譜捆綁在一起。
看起來您正在嘗試將 Python 部署到 OpsWorks,因此您也可以為此找到 OpsWorks 特定的說明書,例如:https://github.com/alecpm/opsworks-web-python
最後,您可能只需要權衡社區食譜的真正有用性。如果您只需要設定一些選項,那麼使用 OpsWorks Apache 說明書可能會更容易,或者製作自己的配方來修改設定。
答案2
在即將發布的 Chef 12 版本中,OpsWorks 將有兩種不同的 Chef 運行,一種用於核心/最小 OpsWorks 設置,另一種用於自訂說明書。第二次運行沒有食譜,只有你自己的,所以不會有命名衝突。