web-dev-qa-db-ja.com

Macにext-Zipをインストールする

実行しようとしていますcomposer updateと私は次のエラーを受け取ります:

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].

実行中composer update

私は一晩中、自分の人生の間違いを犯し、Macが自動的にOSを更新することを許可したので、今はmacOSカタリナにいます。

追加してみました

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

私のcomposer.json ..しかし、その拡張機能をダウンロードしていません。

50
Abdul

MacをCatalinaにアップデートした後も同じ問題が発生しました。ここに私のために働いたものがあります。

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

次に、コンソールをリロードします。

PHP 7.3.10とZipモジュールをインストールします。 php -vを使用してバージョンを確認し、php -mを使用してモジュールを確認できます。

113
Aldranor

次のコマンドでmacOS Catalinaの問題が修正されました

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

brew install phpの実行中にpython symlinkで問題が発生しました。

/usr/local/Frameworksは存在しないため、作成する必要がありました:Sudo mkdir /usr/local/Frameworks

cd /usr/local/

それから私はそれをchownする必要がありました:Sudo chown -R myuser:admin Frameworks

/usr/localの残りのフォルダに基づいて権限設定を行いました。

次に、brew link pythonを実行します。次に、再度brew install phpを実行して完了しました。

php -vはphp 7.3.18になる前のphp 7.3.10を提供します。

4
tommyskott

Brewリンクが機能しない場合は、次の方法でインストールされたphpのバージョンを確認してください。

ls /usr/local/opt/php*

ここでは、そのようなバージョンが表示されます。

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

次のような出力が得られるはずです:

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

これを$ PATHにリンクする必要があります。これは次のように実行できます。

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

注:私は.zshrcを使用しています。これは私の端末設定だからです。もしあなたがbashなら、それに応じて使ってください。

次のコマンドを実行すると、MacOSにリンクされているphpのバージョンを確認できます。

which php

これにより、次の出力が得られます。

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

それでおしまい。 composer updateを試しても、拡張機能の問題は発生しないはずです。

ソース(その一部): https://medium.com/@jjdanek/installing-php-extensions-on-mac-after-homebrew-acfddd6be602

4
SAVE.US_222

2020年3月10日、それは私のために働きます:

brew install php  

PHPが機能する唯一のコマンドです。そのため、最後の投稿に示されているコマンドは非推奨になっていると思います。

3
InfiniteRoads

強制リンクの代わりに、MacOS Catalinaの問題を修正することもできます

phpバイナリパスをbashプロファイルに追加します。例:

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

これは私のために働いた

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

それが役に立てば幸い

2
Habib Mammadov

私の場合、私は単に

brew link --overwrite php