Homebrew / homebrew-cask

🍻 A CLI workflow for the administration of macOS applications distributed as binaries
https://brew.sh
BSD 2-Clause "Simplified" License
20.93k stars 10.71k forks source link

Cask 'luxafor' is unreadable #83584

Closed Mezzle closed 4 years ago

Mezzle commented 4 years ago

General troubleshooting steps

Description of issue

Running the command

brew cask upgrade --force

fails with error

Error: Cask 'luxafor' is unreadable: undefined method `dots_to_slashes' for "2019.01":Cask::DSL::Version

Command that failed

brew cask upgrade --force

Output of command with --force --verbose --debug

Error: Cask 'luxafor' is unreadable: undefined method `dots_to_slashes' for "2019.01":Cask::DSL::Version

Output of brew cask doctor

==> Homebrew Version
2.3.0-21-g7db771b
==> macOS
10.15.5
==> SIP
Enabled
==> Java
14.0.1, 11.0.2
==> xattr issues
<NONE>
==> Gatekeeper support
Error: Unknown support status
==> Homebrew Cask Install Location
<NONE>
==> Homebrew Cask Staging Location
/usr/local/Caskroom
==> Homebrew Cask Taps:
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask (3560 casks)
/usr/local/Homebrew/Library/Taps/puppetlabs/homebrew-puppet (8 casks)
/usr/local/Homebrew/Library/Taps/chef/homebrew-chef (4 casks)
/usr/local/Homebrew/Library/Taps/shopify/homebrew-shopify (2 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-versions (153 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-fonts (942 casks)
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask-drivers (149 casks)
==> Contents of $LOAD_PATH
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/ruby-macho-2.2.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-rspec-1.39.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rubocop-performance-1.6.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/rexml-3.2.4/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/plist-3.5.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/mechanize-2.7.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/activesupport-6.0.3.1/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/zeitwerk-2.3.0/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/tzinfo-1.2.7/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/thread_safe-0.3.6/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/i18n-1.8.2/lib
/usr/local/Homebrew/Library/Homebrew/vendor/bundle/bundler/../ruby/2.6.0/gems/concurrent-ruby-1.1.6/lib/concurrent-ruby
~/.gem/ruby/2.6.0/gems/json-2.3.0/lib
~/.gem/ruby/2.6.0/extensions/universal-darwin-19/2.6.0/json-2.3.0
/Library/Ruby/Site/2.6.0
/Library/Ruby/Site/2.6.0/universal-darwin19
/Library/Ruby/Site
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby/2.6.0
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby/2.6.0/universal-darwin19
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/vendor_ruby
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin19
/usr/local/Homebrew/Library/Homebrew
==> Environment Variables
LC_ALL="en_US.UTF-8"
PATH="/usr/local/Homebrew/Library/Homebrew/shims/scm:/usr/bin:/bin:/usr/sbin:/sbin"
SHELL="/bin/zsh"

Output of brew tap

chef/chef
henkrehorst/bc
henkrehorst/php
heroku/brew
homebrew/bundle
homebrew/cask
homebrew/cask-drivers
homebrew/cask-fonts
homebrew/cask-versions
homebrew/core
homebrew/services
proxmark/proxmark3
puppetlabs/puppet
shihanng/gig
shopify/shopify
miccal commented 4 years ago

This Cask was removed -- you need to delete the folder /usr/local/Caskroom/luxafor to fix this.

Mezzle commented 4 years ago

Surely then, the error should explain this / the system should resolve this?

How is a normal user meant to know this?

vitorgalvao commented 4 years ago

Surely then, the error should explain this / the system should resolve this?

Yes, it should. We’ve been aware of it for long and recently started tracking it in an issue.

How is a normal user meant to know this?

You seem frustrated, which I understand. It definitely sucks. However:

  1. You could have figured it out by searching instead of posting. This has been covered multiple times.
  2. We’re all volunteers working on our free time, offering you this software for free. Yes, the way we (don’t) handle this problem right now is subpar, but nobody wants it to work like this—it doesn’t work this way by design, as your wording appears to assume. We don’t need complaints, we need contributions.
Mezzle commented 4 years ago

You seem frustrated, which I understand. It definitely sucks. However:

You could have figured it out by searching instead of posting. This has been covered multiple times. We’re all volunteers working on our free time, offering you this software for free. Yes, the way we (don’t) handle this problem right now is subpar, but nobody wants it to work like this—it doesn’t work this way by design, as your wording appears to assume. We don’t need complaints, we need contributions.

Hey, sorry if I came across that way. Wasn't intended! :)

Firstly, I did search. But, homebrew being something that I'm not a developer of, I don't know the intricacies, so searching for my error didn't return anything relevant (and it's not immediately obvious that this solution is correct even if it were able to be found!)

The response wasn't intended to come across as a complaint. It's intention was (again, not knowing the entire catalogue of issues present here!) to raise a potential more substantial solution than "run this command". (to be fair, having the command say "run this command" (as it does in other cases) would be a potential solution. :)

I'm more than aware that the people here are volunteers. I know you're working on your free time. I do the same. (both in software, and in the medical field). My wording wasn't intending to seem as if it was working that way by design, more to make sure that (as I've seen in various OSS projects) - having a command ran that fixes the problem wasn't considered as a solution.

vitorgalvao commented 4 years ago

to be fair, having the command say "run this command" (as it does in other cases) would be a potential solution.

Technically yes, but it’s a bad solution. Even if it solves it, the command itself is a suboptimal workaround.

I know you're working on your free time. I do the same. (both in software, and in the medical field).

Thank you! Are you at liberty to share the specific medical field? It’s fine if you’re not comfortable / allowed, it’s just general curiosity.

Mezzle commented 4 years ago

I'm a volunteer EMT / First aid trainer