Homebrew / brew

🍺 The missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
40.8k stars 9.58k forks source link

Error: undefined method `name' for nil:NilClass #16727

Closed yermulnik closed 6 months ago

yermulnik commented 6 months ago

brew gist-logs <formula> link OR brew config AND brew doctor output

> brew config
HOMEBREW_VERSION: 4.2.9-86-gd3ef383-dirty
ORIGIN: https://github.com/Homebrew/brew
HEAD: d3ef383753324c51c9218d33a552c621b96a8c7e
Last commit: 2 hours ago
Core tap HEAD: eb61ed4ea6e4cfe0bab650ae0952607aef4bf1d8
Core tap last commit: 11 minutes ago
Core tap JSON: 22 Feb 19:43 UTC
HOMEBREW_PREFIX: /home/linuxbrew/.linuxbrew
HOMEBREW_AUTO_UPDATE_SECS: 7200
HOMEBREW_BAT: set
HOMEBREW_BAT_CONFIG_PATH: /home/giermulnik/.config/bat/config
HOMEBREW_CASK_OPTS: []
HOMEBREW_DISPLAY: localhost:10.0
HOMEBREW_EDITOR: vim
HOMEBREW_FORCE_BREWED_CURL: set
HOMEBREW_GITHUB_API_TOKEN: set
HOMEBREW_INSTALL_BADGE: ✔
HOMEBREW_MAKE_JOBS: 3
HOMEBREW_SORBET_RUNTIME: set
Homebrew Ruby: 3.1.4 => /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/vendor/portable-ruby/3.1.4/bin/ruby
CPU: octa-core 64-bit unknown_0x6_0xa5
Clang: 17.0.6
Git: 2.43.2 => /home/linuxbrew/.linuxbrew/bin/git
Curl: 8.6.0 => /home/linuxbrew/.linuxbrew/opt/curl/bin/curl
Kernel: Linux 6.6.5-060605-generic x86_64 GNU/Linux
OS: Ubuntu 22.04.4 LTS (jammy)
Host glibc: 2.35
/usr/bin/gcc: 11.4.0
/usr/bin/ruby: 3.0.2
glibc: 2.35_1
gcc@11: 11.4.0
gcc: 13.2.0
Error: undefined method `name' for nil:NilClass
Please report this issue:
  https://docs.brew.sh/Troubleshooting
Warning: Removed Sorbet lines from backtrace!
Rerun with `--verbose` to see the original backtrace
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `sort_by'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:782:in `map'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:782:in `try_new'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:1173:in `block in loader_for'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:1172:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:1172:in `loader_for'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:957:in `factory'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/system_config.rb:31:in `formula_linked_version'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/system_config.rb:53:in `block in dump_verbose_config'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/system_config.rb:52:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/extend/os/linux/system_config.rb:52:in `dump_verbose_config'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/config.rb:26:in `config'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:86:in `<main>'

> brew doctor
Error: undefined method `name' for nil:NilClass
Please report this issue:
  https://docs.brew.sh/Troubleshooting
Warning: Removed Sorbet lines from backtrace!
Rerun with `--verbose` to see the original backtrace
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `sort_by'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:782:in `map'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formulary.rb:782:in `try_new'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/diagnostic.rb:845:in `block (2 levels) in check_deleted_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/diagnostic.rb:843:in `any?'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/diagnostic.rb:843:in `block in check_deleted_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/diagnostic.rb:836:in `map'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/diagnostic.rb:836:in `check_deleted_formula'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/doctor.rb:61:in `block in doctor'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/doctor.rb:54:in `each'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/doctor.rb:54:in `doctor'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:86:in `<main>'

Verification

What were you trying to do (and why)?

brew search any_package_name

What happened (include all command output)?

brew search hclq Error: undefined method name' for nil:NilClass Please report this issue: https://docs.brew.sh/Troubleshooting /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:ineach' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:in sort_by' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/tap.rb:861:ineach' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:1998:in reject' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:1998:intap_aliases' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/formula.rb:2010:in alias_full_names' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/search.rb:52:insearch_formulae' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/search.rb:109:in search_names' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/cmd/search.rb:85:insearch' /home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:86:in `

'

What did you expect to happen?

No error

Step-by-step reproduction instructions (by running brew commands)

`brew search hclq`
reitermarkus commented 6 months ago

Can you check which tap directories exist?

ls -ld /home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/*/*

I assume Tap::from_path fails for one of them and returns nil.

yermulnik commented 6 months ago

@reitermarkus Do you really need long output? Here's the list w/o l arg to ls:

/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/alexnabokikh/homebrew-tfsort
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/ankitpokhrel/homebrew-jira-cli
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/askgitdev/homebrew-askgit
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/asleepycat/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/batchcorp/homebrew-public
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/boz/homebrew-repo
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/bridgecrewio/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/bschaatsbergen/homebrew-tftag
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/busser/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/c-bata/homebrew-kube-prompt
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/charmbracelet/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/databricks/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/deviceinsight/homebrew-packages
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/devops-rob/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/dty1er/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/env0/homebrew-terratag
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/filippo.io/homebrew-age
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/future-architect/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/gabrie30/homebrew-utils
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/git-chglog/homebrew-git-chglog
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/gocruncher/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/gofireflyio/homebrew-aiac
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/hashicorp/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/hmarr/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-aliases
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-bundle
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-cask
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-core
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homebrew/homebrew-services
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/homeport/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/idoavrah/homebrew-homebrew
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/jmespath/homebrew-jmespath
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/ldez/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/librespeed/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/madh93/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/mergestat/homebrew-mergestat
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/minamijoyo/homebrew-hcledit
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/minamijoyo/homebrew-tfedit
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/minamijoyo/homebrew-tfmigrate
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/minamijoyo/homebrew-tfschema
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/minamijoyo/homebrew-tfupdate
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/newreleasesio/homebrew-cmd
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/noborus/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/norwoodj/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/oktadeveloper/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/padok-team/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/peak/homebrew-s5cmd
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/peak/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/pouriyajamshidi/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/r4um/homebrew-homebrew
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/showwin/homebrew-speedtest
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/snyk/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/str4d.xyz/homebrew-rage
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/sumologic-labs/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/tavianator/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/thecasualcoder/homebrew-stable
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/theurichde/homebrew-go-aws-sso
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/trek10inc/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/vmware-tanzu/homebrew-carvel
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/warrensbox/homebrew-tap
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/wez/homebrew-wezterm-linuxbrew
/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/xo/homebrew-xo
reitermarkus commented 6 months ago

/home/linuxbrew/.linuxbrew/Homebrew/Library/Taps/str4d.xyz/homebrew-rage seems to be the problem. Specifically the . is not matched by HOMEBREW_TAP_DIR_REGEX the regex currently.

yermulnik commented 6 months ago

@reitermarkus What should I do about it?

FYI: https://github.com/str4d/rage?tab=readme-ov-file#installation изображение

And was working w/o issue till the several hours ago.

reitermarkus commented 6 months ago

Should be fixed shortly by https://github.com/Homebrew/brew/pull/16728.

yermulnik commented 6 months ago

Should be fixed shortly by #16728.

Once this PR is merged, I should just run brew upgarde, right?

reitermarkus commented 6 months ago

Yes, brew update after it is merged should fix it.

yermulnik commented 6 months ago

Can confirm the issue is resolved. Thanks for the super fast resolution.