If you do `brew install blah` it currently doesn't search for it. This
seems to be unintentional looking at this code as the exception thrown
by ARGV.formulae.each is not caught and handled. Instead, let's handle
this case and provide a little more usability around our taps.
ClosesHomebrew/homebrew#31761.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
I'd still like to make this change, but at least for now the initializer
requires ignore_deps to be set correctly.
This reverts commit 881a8855b944fa9bd7dfd598bb9197f79f7a13f0.
This reverts commit c32ab0a35a2dfa9b593f759ef0ae8b7af077b0b7.
There are other hard-coded uses of HEAD, in build_options for instance.
These all need to be fixed before enabling this.
Homebrew currently recognizes "--head" during the install process, but
rather than actually fetch HEAD it just nags the user to use the
correct option. Since we recognize the spelling anyway, this just
promotes the lowercase version to an official alias.
ClosesHomebrew/homebrew#26555.
* Aborting during reinstall will now restore the originally installed
keg.
- Change install code to pass on CannotInstallFormulaError exception
to caller so it can be reused in reinstall.
* Add "--force-new-install" flag to force installing a new formula.
ClosesHomebrew/homebrew#22190.
Signed-off-by: Samuel John <github@SamuelJohn.de>
When a dependency of a formula specified on the command-line is also
specified, *after* the dependent formula, installation proceeds as part
of the dependent's dependency tree and then is attempted again because
the user asked for it explicitly. This results in the installer raising
a CannotInstallFormulaError because it has already been installed.
For example:
$ brew install graphviz pkg-config
==> Installing graphviz dependency: pkg-config
...
==> Installing graphviz
...
Error: pkg-config-0.27.1 already installed
We already have a mechanism for dealing with this, but it does not kick
in early enough. Move the installation attempt check into
FormulaInstaller#check_install_sanity and catch the exception in the
appropriate places.
FixesHomebrew/homebrew#16957.
Checking the license text is probably the most future proofed method. Though for future reference other possible methods are listed in the below ticket.
ClosesHomebrew/homebrew#14558.