无法通过Composer安装laravel安装程序


119

我正在尝试在Ubuntu PC上使用composer安装laravel安装程序,但是在安装过程中出现此错误。您的要求无法解决为一组可安装的软件包。

  Problem 1
    - laravel/installer v1.4.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - laravel/installer v1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for laravel/installer ^1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php/7.0/cli/php.ini
    - /etc/php/7.0/cli/conf.d/10-opcache.ini
    - /etc/php/7.0/cli/conf.d/10-pdo.ini
    - /etc/php/7.0/cli/conf.d/20-calendar.ini
    - /etc/php/7.0/cli/conf.d/20-ctype.ini
    - /etc/php/7.0/cli/conf.d/20-exif.ini
    - /etc/php/7.0/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.0/cli/conf.d/20-ftp.ini
    - /etc/php/7.0/cli/conf.d/20-gettext.ini
    - /etc/php/7.0/cli/conf.d/20-iconv.ini
    - /etc/php/7.0/cli/conf.d/20-json.ini
    - /etc/php/7.0/cli/conf.d/20-phar.ini
    - /etc/php/7.0/cli/conf.d/20-posix.ini
    - /etc/php/7.0/cli/conf.d/20-readline.ini
    - /etc/php/7.0/cli/conf.d/20-shmop.ini
    - /etc/php/7.0/cli/conf.d/20-sockets.ini
    - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.0/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.0/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.0/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
`

出现错误,然后我使用此注释:

composer global require "laravel/installer"

Answers:


285

它说它需要zip扩展名

laravel / installer v1.4.0需要ext-zip ...

使用安装(以安装默认版本):

sudo apt install php-zip

或者,如果您正在运行特定版本的PHP:

# For php v7.0
sudo apt-get install php7.0-zip

# For php v7.1
sudo apt-get install php7.1-zip

# For php v7.2
sudo apt-get install php7.2-zip

# For php v7.3
sudo apt-get install php7.3-zip

# For php v7.4
sudo apt-get install php7.4-zip

1
可以正常工作,但是这不应该在作曲家的安装中吗?这是一个依赖项管理器...缺少依赖项。也许是Cannonical错过了列入。
泰勒·克里斯蒂安

2
@TylerChristian,作曲家的安装负责管理PHP依赖关系,php7.0-zip是一个系统软件包。作曲家无法解决。从理论上讲,可以添加也可以安装系统软件包的钩子,但这将需要sudo访问,这确实是一种不好的做法。
亚历克斯

4
requires ext-zip是一条毫无用处的讯息。requires php-zip or phpX.X-zip至少应该说。
亨利

1
对于Mac OS用户,请改为使用Homebrew。您无需以超级用户身份运行brew命令。示例:brew install php7.0-zip
Hosny Ben

30

适用于CATALINA的MAC用户

首先,安装自制软件。然后说

brew install php@7.3
brew link php@7.3

重新启动控制台并运行laravel安装程序


该问题询问的是Ubuntu,而不是Mac。
马丁·彼得斯

14
是的,但这对其他人有帮助。我在Mac上,并通过Google搜索找到了这个。该答案将不是OP的最佳答案,但对其他人肯定有帮助。
DavidG

请为您的答案添加更多说明-此命令如何解决给定的问题?仅安装给定扩展名而不先安装其他程序是否有问题?
Nico Haase

21

在centos 7上,我使用了:

yum install php-pecl-zip

因为没有其他解决方案对我不起作用。


该问题询问的是Ubuntu,而不是CentOS。
马丁·彼得斯

这正是我在寻找的东西,谢谢。百胜安装PHP-ZIP在CentOS 7不起作用
GTS乔


5

如果您使用macOS Catalina遇到此问题,建议您执行以下步骤:

  1. 安装Homebrew(如果尚未安装):转至brew.sh或运行以下命令:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. brew install php@7.3

  3. 更新$ PATH变量以包括新安装的php版本:

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

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

  1. 重新加载您的shell首选项脚本$ source ~/.zshrcsource ~/.bashrc

  2. 最后,安装laravel: composer global require laravel/installer


1
在步骤4之前,打开一个新的终端窗口,否则新的$ PATH将不可用。
user1771561

该问题询问的是Ubuntu,而不是Mac。
马丁·彼得斯


4

使用PHP7.2的Centos 7:

sudo yum --enablerepo=remi-php72 install php-pecl-zip

该问题询问的是Ubuntu,而不是CentOS。
马丁·彼得斯

3
V=`php -v | sed -e '/^PHP/!d' -e 's/.* \([0-9]\+\.[0-9]\+\).*$/\1/'` \
sudo apt-get install php$V-zip

1
请添加一些注释以解释您的代码如何回答该问题,以改善此答案。
Eric Hauenstein


2

知道你的PHP版本

php -v 

对于PHP 7.3.0

sudo apt-get install php7.3-zip

我收到此错误E:无法找到软件包php7.3-zip E:无法通过glob'php7.3-zip'找到任何软件包E:无法通过正则表达式'php7.3-zip找到任何软件包'
mak


1

我正在将WSL与ubuntu 16.04 LTS版本以及php 7.3和laravel 5.7一起使用

sudo apt-get install php7.3-zip

为我工作


1

缺少zip扩展名,您可以通过在以下命令中简单运行来避免此错误,默认情况下为版本

sudo apt-get install php-zip

如果您需要任何特定的版本,则需要提及您的php的特定版本,假设我需要安装Xphp-zip版本,那么命令将是。

sudo apt-get install phpX-zip  

X用您需要的版本替换,就我而言,它是 X = 7.3


1

对于macO用户,您可以改用Homebrew:

# For php v7.0
brew install php@7.0

# For php v7.1
brew install php@7.1

# For php v7.2
brew install php@7.2

# For php v7.3
brew install php@7.3

# For php v7.4
brew install php@7.4

请在回答中添加一些进一步的解释-此命令列表如何解决给定的问题?
Nico Haase
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.