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


55

実行しようとする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 ..しかし、その拡張機能をダウンロードしていません。


1
このエラーは、PHPにphp-zip拡張機能がインストールされていないことを意味します。
Latheesan

同じ問題があり、phpinfoはインストールされていると言っています...非常に奇妙です... Appleに感謝します
Jamie Robinson

@JamieRobinsonは、修正を見つけたら教えてください!
Abdul

@Abdul私がこれまでに得た最善の方法は、「c​​omposer install --ignore-platform-reqs」を使用することです...これは解決策ではありませんが、短期的に問題を回避します
Jamie Robinson

@JamieRobinsonが情報を提供してくれたので、誰かが私のために働いたと答えました。
Abdul

回答:


129

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

brew update
brew install php@7.3
brew link php@7.3

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

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


どうもありがとうございます!それは魅力のように働きました!
Abdul

2
@Aldranorは、これでほぼうまくいくように感じています。抽出インストールを実行すると、良い計画のように聞こえます。しかし、現在「エラー:sbin / php-fpmをシンボリックリンクできませんでした」「/ usr / local / sbinは書き込み可能ではありません。」... brewはsudoも実行しません...何かアイデアはありますか?
ジェイミーロビンソン

8
ようやく修正しました!「brew doctor」を実行すると、このフォルダーは存在せず、書き込みもできないということで、実行するコマンドが表示されます。それらのコマンドを実行し、linkコマンドを再度実行し、コンソールをリロードして、すべて通常に戻します:)
Jamie Robinson

8
使用「php@7.3 --force醸造リンク」あなたは、この警告が表示された場合は、「php@7.3は樽のみで、--forceとリンクしなければならない」
leeCoder

3
これは機能しましたが、私が追加した後のみ:export PATH="/usr/local/opt/php@7.3/bin:$PATH" export PATH="/usr/local/opt/php@7.3/sbin:$PATH".zshrcに
Loosie94


6

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

ls /usr/local/opt/php*

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

/usr/local/opt/php@7.3/bin:$PATH

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

/usr/local/opt/php@7.3:
INSTALL_RECEIPT.json        include
LICENSE                     lib
NEWS                        pecl
README.md                   sbin
bin                         share
homebrew.mxcl.php@7.3.plist

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

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc
source ~/.zshrc

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

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

which php

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

/usr/local/opt/php@7.3/bin/php

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

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


6

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

brew install php  

動作するのは、PHPに関する唯一のコマンドです。したがって、最後の投稿で示したコマンドは廃止されていると思います。


1
2020年3月24日確認
フランクリアル

2020年3月26日確認。
ムハンマドアリ

4月7日準拠
PSN

2021年4月14日。未来から確認。
Pandem1c

4

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

/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になりました。


---> sudo chown -R $(whoami)bin etc include lib sbin share var Frameworks <----代わりに---> sudo chown -R myuser:admin Frameworks <---
Ben

2

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

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

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="/usr/local/opt/php@7.3/sbinbin:$PATH"' >> ~/.bash_profile

2

必要がない場合ext-zip(たとえば、簡単な修正をしたいだけの場合)、--ignore-platform-reqsオプションを使用して要件を無視できます。

$ composer update --ignore-platform-reqs


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.