homebrew
homebrew copied to clipboard
undefined method `which' for #<HomebrewUserWrapper:0x000000010b9f6a58>
:speaking_head: Foreword
:ghost: Brief Description
undefined method `which' for #HomebrewUserWrapper:0x000000010b9f6a58
:pancakes: Cookbook version
5.4.5
:woman_cook: Chef-Infra Version
18.3.0
:tophat: Platform details
platform=mac_os_x platform_version=14.3
Steps To Reproduce
Steps to reproduce the behavior:
converge cookbook
:police_car: Expected behavior
execute normally
:heavy_plus_sign: Additional context
NoMethodError
-------------
undefined method `which' for #<HomebrewUserWrapper:0x000000010b9f6a58>
Cookbook Trace: (most recent call first)
----------------------------------------
/var/folders/8r/pjq314jj7mzfr_fd98_5cvbr0000gq/T/cookbooks.PdJuE9l5Vh/site-cookbooks/homebrew/libraries/helpers.rb:64:in `owner'
/var/folders/8r/pjq314jj7mzfr_fd98_5cvbr0000gq/T/cookbooks.PdJuE9l5Vh/site-cookbooks/homebrew/recipes/default.rb:63:in `block in from_file'
/var/folders/8r/pjq314jj7mzfr_fd98_5cvbr0000gq/T/cookbooks.PdJuE9l5Vh/site-cookbooks/homebrew/recipes/default.rb:61:in `from_file'
Relevant File Content:
----------------------
/var/folders/8r/pjq314jj7mzfr_fd98_5cvbr0000gq/T/cookbooks.PdJuE9l5Vh/site-cookbooks/homebrew/libraries/helpers.rb:
57: ::File.exist?("#{HomebrewWrapper.new.install_path}/bin/brew")
58: end
59:
60: def owner
61: @owner ||= begin
62: # once we only support 14.0 we can switch this to find_homebrew_username
63: require 'etc'
64>> ::Etc.getpwuid(HomebrewUserWrapper.new.find_homebrew_uid).name
65: rescue Chef::Exceptions::CannotDetermineHomebrewOwner
66: calculate_owner
67: end.tap do |owner|
68: Chef::Log.debug("Homebrew owner is #{owner}")
69: end
70: end
71:
72: private
73:
System Info:
------------
chef_version=18.3.0
platform=mac_os_x
platform_version=14.3
ruby=ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [arm64-darwin20]
program_name=/opt/chef-workstation/bin/chef-solo
executable=/opt/chef-workstation/bin/chef-solo