我尝试在 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"
它说需要 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
适用于使用 CATALINA 的 MAC 用户
首先,安装自制程序。 然后说
brew install [email protected]
brew link [email protected]
重新启动控制台并运行 laravel 安装程序
在centos 7上我使用过:
yum install php-pecl-zip
因为任何其他解决方案都不适合我。
对于 PHP7.1 安装这个
sudo apt-get install php7.1-zip
如果您在 macOS Catalina 中遇到此问题,我建议您执行以下步骤:
安装 Homebrew(如果您还没有这样做):前往 brew.sh 或只需运行此命令:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
运行
brew install [email protected]
更新您的 $PATH 变量以包含新安装的 php 版本:
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.zshrc
echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.zshrc
重新加载您的 shell 首选项脚本
$ source ~/.zshrc
或 source ~/.bashrc
最后,安装laravel:
composer global require laravel/installer
对于
Ubuntu 16.04
,我已使用此命令来 PHP7.2
,它对我有用。
sudo apt-get install php7.2-zip
Centos 7 与 PHP7.2:
sudo yum --enablerepo=remi-php72 install php-pecl-zip
了解你的php版本
php -v
适用于 php 7.3.0
sudo apt-get install php7.3-zip
V=`php -v | sed -e '/^PHP/!d' -e 's/.* \([0-9]\+\.[0-9]\+\).*$/\1/'` \
sudo apt-get install php$V-zip
对于配备 Macports 的 Mac,
# port install php71-zip
适用于 Ubuntu 18.04 LTS 中的 PHP 7.2
sudo apt-get install php7.2-zip
像魅力一样工作
zip 扩展名丢失,您可以通过简单运行以下命令来避免此错误,默认情况下会采用版本
sudo apt-get install php-zip
如果您需要任何特定版本,您需要提及您的 php 的特定版本,假设我需要安装
X
版本的 php-zip 那么命令将是。
sudo apt-get install phpX-zip
将
X
替换为您需要的版本,就我而言,它是 X = 7.3
对于 macOS 用户,您可以使用 Homebrew 代替:
# For php v7.0
brew install [email protected]
# For php v7.1
brew install [email protected]
# For php v7.2
brew install [email protected]
# For php v7.3
brew install [email protected]
# For php v7.4
brew install [email protected]
我正在将 WSL 与 ubuntu 16.04 LTS 版本以及 php 7.3 和 laravel 5.7 一起使用
sudo apt-get install php7.3-zip
为我工作
# for (php:8.2-fpm)
# Install system dependencies and required PHP extensions
RUN apt-get update && apt-get install -y \
git \
curl \
libpng-dev \
libonig-dev \
libxml2-dev \
libzip-dev \
zip \
unzip \
&& docker-php-ext-install pdo_mysql mbstring exif pcntl bcmath gd soap
# other codes...
将
--progress=plain
选项与 docker-compose build
一起使用可以显着提高您在映像构建过程中调试问题的能力。此选项将输出格式更改为更易于阅读的纯文本格式,并提供有关 Dockerfile 中每个步骤的更详细信息。
用途:
docker-compose build --progress=plain