我试图在我的 Laravel 10 项目中安装 google/cloud-firestore 包。然后我收到了这个错误。
Problem 1
- google/cloud-firestore is locked to version v1.31.0 and an update of this package was not requested.
- google/cloud-firestore v1.31.0 requires ext-grpc * -> it is missing from your system. Install or enable PHP's grpc extension.
我尝试在我的系统上使用 pecl 安装此扩展,但这并没有按我的预期工作。我还在我的 php.ini 文件中添加了 extension=grpc.so 。
理解错误:
此错误表明 google/cloud-firestore 软件包(在您的情况下为 v1.31.0)需要 ext-grpc PHP 扩展,而您的系统中缺少该扩展。 ext-grpc 扩展支持与 gRPC(远程过程调用)服务器进行通信,这对于在 Laravel 应用程序中使用 Google Cloud Firestore 至关重要。
解决问题:
确保您使用的是 PHP 7.2 或更高版本,因为 ext-grpc 不适用于旧版本。您可以通过在终端中运行 php -v 来检查您的 PHP 版本。
如果您的系统支持 apt、yum 或 pecl 等包管理器,请使用适当的命令安装扩展。以下是一些示例:
sudo apt install php8.1-grpc # For Debian/Ubuntu (replace 8.1 with your PHP version)
sudo yum install php-grpc # For CentOS/RHEL
pecl install grpc # Using PECL
启用扩展:
编辑 PHP 配置文件 (php.ini)。确切位置可能会有所不同,具体取决于您的系统。您通常可以在 /etc/php/8.1/cli/php.ini 中找到它或使用 php --ini 来找到它。
在 php.ini 文件中,搜索行 extension=grpc(对于较旧的 PHP 版本,搜索 extension=php_grpc.dll)。如果它被注释掉(前面有一个分号 ;),请通过删除分号来取消注释。
将更改保存到 php.ini。
重新启动 PHP 服务器:
验证安装:
通过仔细执行这些步骤,您应该能够解决 ext-grpc 缺失错误,并在 Laravel 10 应用程序中成功使用 google/cloud-firestore 包。