I try to install [email protected] using brew. But, it return error because it is versioned formula. What is it?
command: brew install [email protected]
result: Error: [email protected] has been disabled because it is a versioned formula!
I try to install [email protected] using brew. But, it return error because it is versioned formula. What is it?
command: brew install [email protected]
result: Error: [email protected] has been disabled because it is a versioned formula!
You can only install supported versions of PHP with brew. However, there is the tap shivammathur/php
which can be used to install unsupported version of PHP.
brew tap shivammathur/php
brew install shivammathur/php/[email protected]
brew link [email protected]
The first step only needs to be done once. After adding the tap, you can install PHP version 5.6 - 8.2.
php -v
it still shows the latest version. –
Barbirolli I applied the same instructions given by @derhansen and worked very well for [email protected]:
brew tap shivammathur/php
brew install shivammathur/php/[email protected]
brew link [email protected]
You can also edit the formula and re-enable it. These steps worked for me in May 2023:
brew edit [email protected]
disable! date: "2022-11-28", because: :versioned_formula
. Change 2022 to 2024 (or later).HOMEBREW_NO_INSTALL_FROM_API=1 brew install --build-from-source [email protected]
Notes:
brew install /opt/homebrew/Library/Taps/homebrew/homebrew-core/Formula/[email protected]
–
Silly For anyone having this issue 2023 (and beyond)
The accepted answer is an unnessercery step.
@Mike's answer is the better one, but is missing one important step.
HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
HOMEBREW_NO_INSTALL_FROM_API=1 brew install [email protected]
Brew tells you, when you edit the Formula:
Warning: Unless `HOMEBREW_NO_INSTALL_FROM_API` is set when running
`brew install`, it will ignore your locally edited formula.
Editing /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/[email protected]
Warning: Using code because no editor was set in the environment.
This may change in the future, so we recommend setting EDITOR,
or HOMEBREW_EDITOR to your preferred text editor.
This way, you still use the official formula. This of course, works for any formula.
So, just remove the following two lines from the formula:
brew edit {{ formula }} // ex: brew edit [email protected]
keg_only :versioned_formula
disable! date: "2022-11-28", because: :versioned_formula
When you are using homebrew to install PHP you need to know the versions that are been supported by homebrew. If you need to install an unsupported version you can do it by running these commands
brew tap shivammathur/php
brew install shivammathur/php/[email protected]
brew link [email protected]
And then if ypu need to check the current version and then shift between php version you can run
php -v
brew unlink php
brew link [email protected]
BTW, brew install [email protected]
gives out same warning, but does install php7, so this could be an option
disable! date: "2022-11-28", because: :versioned_formula
–
Filefish I was facing the same problem with Homebrew. The following steps resolved it, combining ideas from phpbrew#1249:
brew edit [email protected]
disable! date: "2022-11-28", because: :versioned_formula
pkg-config
find the compile headers of openssl v1.1.1 before the ones of v3 (which do not define RSA_SSLV23_PADDING
):
ENV["PKG_CONFIG_PATH"] = "#{Formula["[email protected]"].opt_prefix}/lib/pkgconfig:#{ENV["PKG_CONFIG_PATH"]}"
system "echo", ENV["PKG_CONFIG_PATH"]
ENV["OPENSSL_CFLAGS"] = "-I#{Formula["[email protected]"].opt_include}"
ENV["OPENSSL_LIBS"] = "-L#{Formula["[email protected]"].opt_prefix}/lib -lcrypto -lssl"
--with-openssl
with the following:
--with-openssl=shared,#{Formula["[email protected]"].opt_prefix}
HOMEBREW_NO_INSTALL_FROM_API=1 brew reinstall -s [email protected]
HOMEBREW_NO_INSTALL_FROM_API=1
is no longer required as [email protected]
has been deleted from the API now. Using this will just cause dependencies to re-download –
Erysipeloid ENV["EXTRA_LIBS"] = "#{Formula["[email protected]"].opt_prefix}/lib/libssl.dylib #{Formula["[email protected]"].opt_prefix}/lib/libcrypto.dylib"
and replace with --with-openssl=#{Formula["[email protected]"].opt_prefix}
to get PHP to build with OpenSSL –
Erysipeloid On top of Anuga's answer, I would like to add a note.
If disable! date: "2022-11-28", because: :versioned_formula
is not found, then look out for the depreciated
or depreciate
keyword while editing the formula. Proceed with the identical steps; it proved effective in my case!
Edit:
I encountered an additional challenge when attempting to install PHP, despite consulting various articles. Eventually, I identified that my Internet Service Provider (ISP), JIO, was blocking all requests to raw.githubusercontent.com
.
This is a noteworthy consideration for individuals in India relying on JIO as their ISP.
© 2022 - 2024 — McMap. All rights reserved.