📅  最后修改于: 2023-12-03 15:10:03.603000             🧑  作者: Mango
如果你在使用 Laravel 时遇到了以下错误:
Your requirements could not be resolved to an installable set of packages.
Problem 1
- laravel/framework[v8.0.0, ..., v8.4.1] require ext-gd * -> it is missing from your system. Install or enable PHP's gd extension.
- Root composer.json requires laravel/framework ^8.0 -> satisfiable by laravel/framework[v8.0.0, ..., v8.4.1].
To enable extensions, verify that they are enabled in your .ini files:
- /usr/local/etc/php/php.ini
- /usr/local/etc/php/conf.d/docker-php-ext-bcmath.ini
- /usr/local/etc/php/conf.d/docker-php-ext-opcache.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pdo_mysql.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pdo_pgsql.ini
- /usr/local/etc/php/conf.d/docker-php-ext-pgsql.ini
这是因为项目依赖的 gd
扩展没有安装。下面是一些可能用到的方法。
在继续之前,请确保你正在运行 PHP 7.4 或更高版本。在命令行中输入以下命令来检查您的 PHP 版本:
php -v
如果你的版本低于 7.4,你需要升级你的 PHP 版本。
如果你使用的是 Ubuntu 或类似的系统,你可以使用以下命令来安装 GD 扩展:
sudo apt-get install php-gd
如果你使用的是 macOS,你可以使用以下命令来安装 GD 扩展:
brew install php-gd
对于其他操作系统,请参考操作系统的文档或搜索相应的安装指南。
完成安装后,你需要重新安装 Laravel 的依赖。可以使用以下命令:
composer install
如果你是在 Laravel 容器内工作,则需要在 Dockerfile 中添加以下行来安装 GD 扩展:
RUN apt-get update && apt-get install -y \
libpng-dev \
libjpeg-dev \
libfreetype6-dev \
&& docker-php-ext-install -j$(nproc) gd
如果你正在使用某个服务器管理工具(如 Forge 或 Envoyer),则可能需要在该工具的 Web 界面中启用 GD 扩展。
如果你的 php.ini
文件中禁用了 gd
扩展,你需要打开该文件并将以下行取消注释:
extension=gd
如果安装时遇到其他问题,请参考官方文档。