Exception: BuildFlagsError

Inherits:
RuntimeError
  • Object
show all
Defined in:
exceptions.rb

Overview

Raised by Homebrew.install, Homebrew.reinstall, and Homebrew.upgrade if the user passes any flags/environment that would case a bottle-only installation on a system without build tools to fail.

Instance Method Summary collapse

Constructor Details

#initialize(flags, bottled: true) ⇒ BuildFlagsError

Returns a new instance of BuildFlagsError.



575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
# File 'exceptions.rb', line 575

def initialize(flags, bottled: true)
  if flags.length > 1
    flag_text = "flags"
    require_text = "require"
  else
    flag_text = "flag"
    require_text = "requires"
  end

  bottle_text = if bottled
    <<~EOS
      Alternatively, remove the #{flag_text} to attempt bottle installation.
    EOS
  end

  message = <<~EOS
    The following #{flag_text}:
      #{flags.join(", ")}
    #{require_text} building tools, but none are installed.
    #{DevelopmentTools.installation_instructions} #{bottle_text}
  EOS

  super message
end