New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dep command fails to run with Composer 2.2 and PHP7.4, Ubuntu 18.04 #2859
Comments
This is probably related, so I will post it here. When running
If I require |
I've the same error:
It worked on my local machine, but that's with Composer 2.1.12. After upgrading to Composer 2.2.1 So Deployer is not compatible with Composer 2.2. I've downgraded Composer in the workflows to 2.1 and it works fine. |
I also found possible bug. |
The root cause of the problem seems to be a06f5a0#diff-e951b5e8891773756ee4536d362570e77c7f1ed92fc5749dc47f61e9ba908f7dR41-R51 (or Lines 45 to 62 in cfcb963
This was always broken but you did not notice it before because sometimes vendor/bin/dep was a symlink to vendor/deployer/deployer/bin/dep, but in some env it would not have been a symlink and would break the way it is breaking now. As of Composer 2.2 it is never a symlink anymore. The other way this is broken is that bin-dir can be configured in composer.json, so inspecting only vendor/bin/dep makes no sense IMO. It would probably make more sense to check for the following paths:
Although vendor-dir can also be configured, it is very rarely done so perhaps it's good enough. bin-dir however I have seen being changed to bin/ instead of vendor/bin/ quite often. |
I’m going to remove this code. It already caused a lot of trouble. Thanks @Seldaek for looking into this. |
@antonmedv any idea when you are able to have a look at that? It currently blocks our deployment. @Seldaek suggested running |
If you're blocked, |
Incidentally, you seem to only need this when installing deployer—if you go back to composer 2.1.14, then require deployer, then immediately |
I deleted the problem code from bin/dep (which was requiring itself). Will release a new RC this week. |
Running
dep
orvendor/bin/dep
In composer 2.1 it seems that vendor/bin/dep is a symbolic link
dep -> ../deployer/deployer/bin/dep
, but in composer 2.2 it copies the dep file tovendor/bin
It seems to work with PHP8
php8.0 vendor/bin/dep
but not with 7.4php7.4 vendor/bin/dep
The text was updated successfully, but these errors were encountered: