Composer install fails in devilbox

I’m using composer install to download this package: https://bitbucket.org/newicon/neon/src/releases/. When I add it to the composer.json file and try composer install but I get an error:

Unzip with unzip command failed, falling back to ZipArchive class
Install of newicon/neon failed
 38/38 [============================] 100%
                                                                                                                                                              
  [RuntimeException]                                                                                                                                              
  The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems): ZipArchive::extractTo(): File exists  
                                                                                                                                                              

                                    
  [ErrorException]                      
  ZipArchive::extractTo(): File exists  

I initially thought this was an issue with the package, but if I try the same process in Xampp then it install without a problem. Is anyone else able to replicate this? Using windows 10 and the latest version of devilbox

Can you please provide the commands used which yielded this error.

Hi Cytopia. Thanks for your awesome work on devilbox btw, it’s the best thing ever! I run these in order:

docker-compose up -d httpd mysql
docker exec -it devilbox_php_1 bash
cd www.newicon/htdocs
composer create-project --prefer-dist newicon/neon-app .

Works fine here. You’re entering the PHP container as root, but should be using the provided user:

Either:

docker-compose exec --user devilbox php bash -l

or

./shell.sh

Tried that, but still get the same failure:

I’ll try reinstalling docker-desktop and devilbox and go from there

Still the same problem :frowning:

Have you tried a docker-compose rm -f to remove any stopped state (https://docs.docker.com/compose/reference/rm/)

yeah, still no luck. I’m not sure where to go from here

The error message indicates that the file already exists. You could give this a try at a different project or remove this dir first

tried that too, still no luck. It always seems to fail at the same point

Getting this when I try and clone a git repository.

I’ve tried this locally on my machine and checking the directory in question:

ls -lap vendor/nikic/php-parser/lib/
total 16
drwxr-xr-x  4 cytopia cytopia 4096 Nov 19 11:05 ./
drwxr-xr-x  5 cytopia cytopia 4096 Nov 19 11:05 ../
drwxr-xr-x 10 cytopia cytopia 4096 Nov 19 11:05 PhpParser/
drwxr-xr-x  7 cytopia cytopia 4096 Nov 19 11:05 PHPParser/

As you can see there are two directories with the same name, just different capitalization.
Now also your initial error message makes sense:

[RuntimeException]                                                                                                                                              
  The archive may contain identical file names with different capitalization (which fails on case insensitive filesystems): ZipArchive::extractTo(): File exists  

So as you’re using Windows, I’d suppose there must be a setting somewhere to allow different capitalization as Windows does not distinguish between upper/lower case and treats it all the same

Ah that makes sense. I’ve removed this library and it works fine now. Thanks for your help @cytopia