Я использую следующую кулинарную книгу из GitHub https://github.com/FFIN/user_managementпользователь
К сожалению, я получаю эту ошибку, когда я запускаю рецепт
ERROR: undefined method each for nil:NilClass
ошибка, кажется, происходящий из второго из этого блока кода. Кажется, это не распознавание. Как метод. Любые идеи почему? Мой пакет данных совпадает с автором, поэтому я сомневаюсь, что это проблема.
sudoer_users = Array.new() node['user_management']['users'].each do |user| user_management user['username'] do comment user['comment'] unless user['comment'].nil? create_home user['create_home'] shell user['shell'] unless user['shell'].nil? password user['password'] unless user['password'].nil? uid user['uid'] unless user['uid'].nil? gid user['gid'] unless user['gid'].nil? ssh_keys user['ssh_keys'] unless user['ssh_keys'].nil? delete_home_when_remove user['delete_home_when_remove'] unless user['delete_home_when_remove'].nil? if user['action'] == 'remove' then action :remove else action :create end end
EDIT
Я пошел вперед и определил ['node']['user_management']['users']
в моих атрибутов, чтобы указать свою сумку default['user_management']['users'] = chefusers
данных.
Я также изменил
node['user_management']['users'].each do |user|
в
node['user_management']['users'].each_line do |user|
но теперь я получаю ошибку
You must supply a name when declaring a user_management resource
.
Ошибка, похоже, происходит на третьей строке кодового блока.
Спасибо coderanger. Я отредактировал этот вопрос для вашего предложения. – jebjeb