缺少 Zip 扩展名(作曲家更新)

Posted

技术标签:

【中文标题】缺少 Zip 扩展名(作曲家更新)【英文标题】:Zip extension is missing (Composer Update) 【发布时间】:2020-01-09 19:41:52 【问题描述】:

我想使用 composer 更新我的 Laravel 应用程序的依赖项,但是在输入 composer update 时,我收到一个依赖项 ***** requires ext-zip * -> the requested php extension zip is missing from your system. 的错误 我检查了已安装的 PHP 的扩展,这是php -m 的输出:

[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
intl
json
libxml
mbstring
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
readline
Reflection
session
SimpleXML
soap
sockets
sodium
SPL
sqlite3
standard
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
zip
zlib

[Zend Modules]

我检查了 zip 扩展名已经可用于命令行和应用程序,但作曲家没有更新。谁能指导我? 操作系统:macOS Catalina 服务器:MAMP Pro

【问题讨论】:

Can't install laravel installer via composer的可能重复 这个问题最终不是重复的,因为 OP 要求在 macOS 而不是 Ubuntu 上提供解决方案。 您确定您的系统上没有多个 PHP 版本吗?这在 Mac 上很容易发生,因为它带有一个相当旧的预安装 PHP。您可以通过调用 composer 来确保使用您检查模块的“默认”php。不过,这需要确切的作曲家位置。例如,它可能看起来像这样:php /usr/local/bin/composer update。如果可行,您可以尝试找出其他安装在哪里,然后将其删除或确保作曲家不使用它,例如通过更改您的 PATH 环境变量。 你有想过这个吗? 【参考方案1】:

如果有人正在寻找答案,这很简单。用 vim ~/.profile 编辑你的 .profile (你也可以使用其他的,比如使用 TextMate 的 mate),添加行作为最后一行:alias composer='php /usr/local/bin/composer'。保存文件并重新启动终端,或重新加载配置文件。就是这样

【讨论】:

以上是关于缺少 Zip 扩展名(作曲家更新)的主要内容,如果未能解决你的问题,请参考以下文章

如何解决作曲家问题 - laravel/framework [..] 需要 ext-mcrypt * -> 您的系统中缺少请求的 PHP 扩展 mcrypt

javascript Bolt中的PHP扩展的Gulp拷贝和作曲家更新

扩展Laravel包

如何在“非作曲家”TYPO3中安装“仅限作曲家模式”扩展名

请求的链接库 openssl 安装了错误的版本

带有作曲家的 TYPO3 扩展不工作