Я хочу развернуть одну из своих поваренных книг, 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-passenger/metadata.rb
name "nginx-passenger"
version "0.1.0"
depends 'nginx', '~> 2.7.4'
depends 'apt', '~> 2.6.0'
Можно ли рекомендовать обходному решению эту проблему. Я действительно хочу использовать сообщество nginx поваренная книга здесь.
Править: Прощение, я забыл упоминать немного деталей. Я пытаюсь создать пользовательский слой, но я еще не присваивал рецептов ему. Я создал экземпляр, обновил пользовательские поваренные книги и выполнил nginx-пассажира рецепта:: примите значение по умолчанию вручную.
Конфликты имен - известная проблема с кулинарными книгами OpsWorks, и нет простого решения.
Что вам, возможно, придется сделать, так это загрузить кулинарные книги сообщества nginx и nginx-пассажира на свой Cookbook, переименуйте кулинарную книгу nginx во что-то вроде nginx-community, затем обновите все ссылки в кулинарной книге nginx-пассажира с nginx на nginx-community.
С другой стороны, вам, вероятно, следует подумать, действительно ли вам нужны nginx и nginx - поваренные книги сообщества пассажиров. У OpsWorks есть свои кулинарные книги для nginx и пассажира, просто стек Ruby по умолчанию использует Apache. Вам, вероятно, потребуется перезаписать только один или два файла в кулинарной книге nginx, чтобы он работал с пассажиром.