web-dev-qa-db-fra.com

installer ext-Zip pour Mac

J'essaye d'exécuter composer update et j'obtiens les erreurs suivantes:

Problem 1
    - The requested PHP extension ext-Zip * is missing from your system. Install or enable PHP's Zip extension.
  Problem 2
    - maatwebsite/Excel 3.1.10 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.11 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.12 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.13 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.14 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.15 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.16 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.17 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.7 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.8 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.9 requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.2.x-dev requires phpoffice/phpspreadsheet ^1.6 -> satisfiable by phpoffice/phpspreadsheet[1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.0 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.1 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.2 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.3 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.4 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.5 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - maatwebsite/Excel 3.1.6 requires phpoffice/phpspreadsheet ^1.4 -> satisfiable by phpoffice/phpspreadsheet[1.4.0, 1.4.1, 1.5.0, 1.5.1, 1.5.2, 1.6.0, 1.7.0, 1.8.0, 1.8.1, 1.8.2, 1.9.0].
    - phpoffice/phpspreadsheet 1.9.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.2 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.1 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.8.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.7.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.6.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.2 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.1 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.5.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.1 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - phpoffice/phpspreadsheet 1.4.0 requires ext-Zip * -> the requested PHP extension Zip is missing from your system.
    - Installation request for maatwebsite/Excel ^3.1.0 -> satisfiable by maatwebsite/Excel[3.1.0, 3.1.1, 3.1.10, 3.1.11, 3.1.12, 3.1.13, 3.1.14, 3.1.15, 3.1.16, 3.1.17, 3.1.2, 3.1.3, 3.1.4, 3.1.5, 3.1.6, 3.1.7, 3.1.8, 3.1.9, 3.1.x-dev, 3.2.x-dev].

lors de l'exécution composer update

Du jour au lendemain, j'ai fait l'erreur de ma vie et j'ai autorisé mon Mac à mettre à jour automatiquement le système d'exploitation, je suis donc maintenant dans macOS Catalina.

J'ai essayé d'ajouter

 "require": {
    "ext-Zip": "*",
 }

à mon composer.json..mais ce n'est pas télécharger cette extension.

50
Abdul

J'ai eu le même problème après avoir mis à jour mon Mac vers Catalina. Voici ce qui a fonctionné pour moi.

brew update
brew install [email protected]
brew link [email protected]

Rechargez ensuite votre console.

Il installera php 7.3.10 avec le module Zip. Vous pouvez utiliser php -v pour vérifier la version et php -m pour les modules.

113
Aldranor

La commande suivante a résolu le problème sur macOS Catalina

brew link [email protected] --force
7
Hamza Waleed

J'ai eu des problèmes avec python pendant le brew install php.

/usr/local/Frameworks n'existait pas, j'ai donc dû le créer: Sudo mkdir /usr/local/Frameworks

cd /usr/local/

Ensuite, je devais le montrer: Sudo chown -R myuser:admin Frameworks

J'ai basé les paramètres d'autorisation sur le reste des dossiers dans /usr/local.

Ensuite, je pourrais exécuter brew link python. Puis j'ai couru brew install php encore une fois et c'est terminé.

php -v me donne maintenant php 7.3.10, avant c'était php 7.3.18 je pense.

4
tommyskott

Si le lien de brassage ne fonctionne pas pour vous, vérifiez votre version php installée par:

ls /usr/local/opt/php*

Ici, vous verrez une version en tant que telle:

/usr/local/opt/[email protected]/bin:$PATH

Devrait vous donner une sortie comme:

/usr/local/opt/[email protected]:
INSTALL_RECEIPT.json        include
LICENSE                     lib
NEWS                        pecl
README.md                   sbin
bin                         share
[email protected]

Maintenant, il vous suffit de lier cela à votre $ PATH, ce qui peut être fait comme:

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Remarque: j'utilise .zshrc car il s'agit de la configuration de mon terminal. Si le vôtre est bash, utilisez en conséquence.

Vous pouvez vérifier quelle version de php est maintenant liée à votre MacOS en exécutant:

which php

Cela devrait vous donner une sortie de:

/usr/local/opt/[email protected]/bin/php

C'est tout. Maintenant, si vous essayez la mise à jour composer, cela ne devrait pas vous poser de problème d'extension.

Source (en partie): https://medium.com/@jjdanek/installing-php-extensions-on-mac-after-homebrew-acfddd6be602

4
SAVE.US_222

Le 10 mars 2020, ça marche pour moi:

brew install php  

C'est la seule commande sur PHP qui fonctionne. Donc, je pense que les commandes affichées dans les derniers messages sont obsolètes.

3
InfiniteRoads

Au lieu de forcer la liaison, vous pouvez également résoudre le problème dans MacOS Catalina

en ajoutant le chemin binaire php à votre profil bash par exemple:

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/[email protected]/sbinbin:$PATH"' >> ~/.bash_profile
2
MDeuerlein

Cela a fonctionné pour moi

brew update brew install [email protected] brew link [email protected] brew link [email protected] --force

J'espère que ça aide

2
Habib Mammadov

Dans mon cas, je devais simplement

brew link --overwrite php