sous-chefs / homebrew

Development repository for the homebrew cookbook
https://supermarket.chef.io/cookbooks/homebrew
Apache License 2.0
151 stars 136 forks source link

undefined method `which' for #<HomebrewUserWrapper:0x000000010b9f6a58> #183

Closed bcg62 closed 4 months ago

bcg62 commented 7 months ago

:speaking_head: Foreword

:ghost: Brief Description

undefined method `which' for #

: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
americanhanko commented 4 months ago

I'm also seeing this issue.

$ sw_vers
ProductName:        macOS
ProductVersion:     14.3.1
BuildVersion:       23D60
$ chef --version
Chef Workstation version: 24.2.1058
Test Kitchen version: 3.6.0
Cookstyle version: 7.32.7
Chef Infra Client version: 18.3.0
Chef InSpec version: 5.22.40
Chef CLI version: 5.6.14
Chef Habitat version: 1.6.652