You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Reinstalling an already enabled extension should be no-op #586
What are you trying to do?
Installing an extension twice using pie :)
Unless the build/configure parameters change, the second time it should be a no-op.
What platform, and PIE version are you using?
🥧 PHP Installer for Extensions (PIE) 1.4.1, from The PHP Foundation
You are running PHP 8.5.5
Target PHP installation: 8.5.5 nts, on Linux/OSX/etc arm64 (from /opt/homebrew/Cellar/php/8.5.5_1/bin/php)
Steps to reproduce the issue
# Install Redis
pie install phpredis/phpredis
# Install it again, it should not proceed to build it again.
pie install phpredis/phpredis
What do you expect to happen?
It should let the user know that the extension is already installed and loaded.
What is actually happening
it is building the extension regardless of if the extension is already enabled.
Caveats
If the extension is installed but not enabled, then it may not be no-op, but instead of building it again, it should enable the already installed extension.
If the extension say redis is installed without igbinary support and the next time, I try to install it with igbinary support, then it should build it as it does currently and replace the extension.
A loosely related discussion about using the pie.json a bit more is here: #575
I think in general, factoring in this suggestion and #575 makes sense to consider the pie.json + pie.lock in more detail. Originally we never had the installed metadata, so was impossible to consider this, but that's been around for several releases now. I'll investigate this, great improvement 💯 thank you
Activity
asgrim commentedon Apr 15, 2026
A loosely related discussion about using the
pie.jsona bit more is here: #575I think in general, factoring in this suggestion and #575 makes sense to consider the
pie.json+pie.lockin more detail. Originally we never had the installed metadata, so was impossible to consider this, but that's been around for several releases now. I'll investigate this, great improvement 💯 thank you