brew.rb: improve error message for miscased commands.
This commit is contained in:
parent
d0e438c5fa
commit
9fd678cc58
@ -83,10 +83,7 @@ begin
|
||||
end
|
||||
|
||||
if internal_cmd || Commands.external_ruby_v2_cmd_path(cmd)
|
||||
# All internal commands are downcased
|
||||
# Since APFS is case-insensitive by default, Ruby will load the command file
|
||||
# if user passes it mixed-case, but here invoking it will fail.
|
||||
cmd = T.must(cmd).downcase
|
||||
cmd = T.must(cmd)
|
||||
cmd_class = Homebrew::AbstractCommand.command(cmd)
|
||||
Homebrew.running_command = cmd
|
||||
if cmd_class
|
||||
@ -96,7 +93,14 @@ begin
|
||||
Utils::Analytics.report_command_run(command_instance)
|
||||
command_instance.run
|
||||
else
|
||||
Homebrew.public_send Commands.method_name(cmd)
|
||||
begin
|
||||
Homebrew.public_send Commands.method_name(cmd)
|
||||
rescue NoMethodError => e
|
||||
case_error = "undefined method `#{cmd.downcase}' for module Homebrew"
|
||||
odie "Unknown command: brew #{cmd}" if e.message == case_error
|
||||
|
||||
raise
|
||||
end
|
||||
end
|
||||
elsif (path = Commands.external_ruby_cmd_path(cmd))
|
||||
Homebrew.running_command = cmd
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user