composer 提示 "hash verification failed" 如何解决?

答案:Composer安装时出现"hash verification failed"错误通常由缓存损坏、网络问题或镜像源异常引起。首先清除缓存(composer clear-cache),再尝试切换回官方源(composer config -g repo.packagist composer https://packagist.org);若无效,可删除vendor目录和composer.lock后重新安装;同时检查代理设置与PHP环境是否正常,多数问题可通过清缓存或换源解决。

composer 提示 \

当你在使用 Composer 安装或更新 PHP 包时遇到 "hash verification failed" 错误,通常意味着下载的文件内容与预期的哈希值不匹配。这可能是由于网络问题、缓存损坏、镜像源异常或包本身被篡改(极少见)。以下是几种常见且有效的解决方法。

清除 Composer 缓存

Composer 会缓存已下载的包,若缓存文件损坏,就会导致哈希校验失败。

执行以下命令清除缓存:
  • composer clear-cachecomposer clearcache

之后重新运行你的 composer installcomposer update 命令。

检查是否使用了第三方镜像源

如果你使用了国内镜像(如阿里云、华为云、Lar*el China 镜像等),有时镜像同步不及时或文件传输出错会导致哈希不一致。

临时切换回官方源尝试:
  • composer config -g repo.packagist composer https://packagist.org

然后再执行安装命令。如果恢复正常,说明原镜像有问题,可等待其修复或更换其他可靠镜像。

手动删除 vendor 和 composer.lock

如果缓存清除无效,可能是 composer.lock 与实际下载内容不一致。

超能文献 超能文献

超能文献是一款革命性的AI驱动医学文献搜索引擎。

超能文献 123 查看详情 超能文献 建议操作步骤:
  • 删除 vendor/ 目录
  • 删除 composer.lock 文件
  • 运行 composer install 重新生成依赖

注意:生产环境慎用此方法,确保你了解依赖变更的影响。

检查网络和代理设置

某些公司网络或代理可能对下载内容进行中间处理,导致文件被修改。

可尝试:
  • 换一个网络环境(如手机热点)测试
  • 关闭代理(如有):unset http_proxy; unset https_proxy
  • 检查 Composer 是否配置了代理:composer config -l | grep proxy

验证 PHP 和 OpenSSL 配置

极少数情况下,PHP 的 hash 函数或 OpenSSL 扩展异常可能导致校验错误。

确认 PHP 正常工作:
  • 运行 php -r "echo hash('sha256', 'test') . PHP_EOL;" 看是否有输出
  • 确保 php_openssl 扩展已启用

基本上就这些。大多数“hash verification failed”问题通过清缓存或切回官方源就能解决。关键是判断是本地问题、网络问题还是镜像源问题。逐步排查,通常很快能恢复。

以上就是composer 提示 "hash verification failed" 如何解决?的详细内容,更多请关注php中文网其它相关文章!

本文转自网络,如有侵权请联系客服删除。