Berks устанавливается с использованием артефактов, поскольку ошибки синтаксического анализа json супермаркета шеф-повара

Artifactory_version: 5.8.3 Chef Development Kit Версия: 2.4.17 версия chef-client: 13.6.4 версия berks: 6.3.1 Artifactory находится за балансировщиком нагрузки F5.

Когда я устанавливаю berks и пытаюсь получить доступ к артефактному супермаркету, я получаю следующую ошибку: ridley-5.1.1/lib/ridley/middleware/parse_json.rb:89:in first_char': undefined method[]' for # (NoMethodError)

Если я укажу на супермаркет.chef.io, он работает без проблем. Локальный артефакт — это удаленный репозиторий, который через прокси-сервер super.chef.io и json-файлы загружаются в артефакт. Я скачал пару из них и прогнал их через парсер, и они были хороши.

Любая помощь приветствуется.


person user2762571    schedule 12.01.2018    source источник
comment
Как выглядит ваш файл berksfile?   -  person coderanger    schedule 12.01.2018
comment
# Frozen_string_literal: true source https://‹ARTIFACTORY_SERVER_NAME›/artifactory/api/chef/virt-supermarket #source 'supermarket.chef метаданные .io   -  person user2762571    schedule 17.01.2018
comment
Требуется ли для вашего репо аутентификация? Вместо этого попробуйте source artifactory: 'https://<ARTIFACTORY_SERVER_NAME>/artifactory/api/chef/virt‌​-supermarket'.   -  person coderanger    schedule 17.01.2018
comment
нет авторизации, чтобы просто скачать с артефактария. Я пытался source artifctory: 'https://<ARTIFACTORY_SERVER_NAME>/artifactory/api/chef/virt‌​-supermarket'   -  person user2762571    schedule 17.01.2018
comment
В любом случае попробуйте настоящий артефактный драйвер, просто для удовольствия.   -  person coderanger    schedule 17.01.2018
comment
но все равно не повезло. та же проблема с parse_json.rb   -  person user2762571    schedule 17.01.2018
comment
Если вы вручную обращаетесь к https://<ARTIFACTORY_SERVER_NAME>/artifactory/api/chef/virt‌​‌​-supermarket/universe, правильно ли он сформирован в формате JSON?   -  person coderanger    schedule 17.01.2018
comment
Да, это похоже на правильно сформированный JSON.   -  person user2762571    schedule 17.01.2018
comment
Вставьте полный JSON и полную трассировку стека ошибок.   -  person coderanger    schedule 17.01.2018
comment
вывод отладочной информации установки berks pastebin.com/eYMk5yNb   -  person user2762571    schedule 17.01.2018
comment
полный JSON все еще вставляется в файл, поэтому может защитить невиновных;)   -  person user2762571    schedule 17.01.2018


Ответы (1)


Ага, с полной трассировкой видно, что вы не используете версию вещей ChefDK (см. .rvm и ruby-2.5.0 в путях). Удалите все, что установлено через RVM, и используйте актуальные упакованные версии ChefDK. Это похоже на проблему совместимости с Ruby 2.5, до которой мы не пытались обновиться, это произойдет в апреле.

person coderanger    schedule 17.01.2018