Я хочу развернуть одну из моих кулинарных книг, nginx-пассажира, в opsworks. Я тестировал кулинарные книги на месте, используя testkitchen, и все рецепты и тесты прошли успешно. Однако при использовании opsworks запуск nginx-пассажира :: по умолчанию завершается ошибкой «Не удалось удовлетворить ограничения версии для: nginx». У Opsworks уже есть кулинарная книга с точно таким же названием, но в другой версии, так что, вероятно, это вызвано этим.
Я уже искал эту ошибку и нашел следующее https://forums.aws.amazon.com/thread.jspa?threadID=153656
Однако это не предлагает реального решения.
Мои файлы выглядят следующим образом:
my_cookbooks / Berksfile:
source "https://supermarket.getchef.com"
cookbook 'user', '~> 0.3.0'
cookbook 'apt', '~> 2.6.0'
cookbook 'nginx', '~> 2.7.4'
my_cookbooks / nginx-пассажир / metadata.rb
name "nginx-passenger"
version "0.1.0"
depends 'nginx', '~> 2.7.4'
depends 'apt', '~> 2.6.0'
Можете ли вы порекомендовать решение этой проблемы. Я действительно хочу использовать здесь кулинарную книгу сообщества nginx.
РЕДАКТИРОВАТЬ: Простите, я забыл упомянуть несколько деталей. Я пытаюсь создать собственный слой, но еще не назначил ему никаких рецептов. Я создал экземпляр, обновил пользовательские кулинарные книги и вручную выполнил рецепт nginx-пассажира :: default.
Конфликты именования - известная проблема в кулинарных книгах OpsWorks, и простого решения нет.
Возможно, вам придется загрузить кулинарные книги сообщества nginx и nginx-пассажира в каталог рецептов, переименовать книгу рецептов nginx во что-то вроде nginx-community, а затем обновить все ссылки в книге рецептов nginx-пассажира с nginx до nginx-community.
С другой стороны, вам, вероятно, следует подумать, действительно ли вам нужны кулинарные книги сообщества nginx и nginx-пассажира. У OpsWorks есть свои кулинарные книги для nginx и пассажира, просто стек Ruby по умолчанию использует Apache. Вероятно, вам нужно будет перезаписать только один или два файла в кулинарной книге nginx, чтобы он работал с пассажиром.