当前位置: 首页 > news >正文

composer报错的处理方案

composer报错的核心问题有两个。
一、因为composer的版本,依赖于php的版本。
而php的版本又很可能是我们的运行环境决定的。
所以一旦出现版本冲突问题就很奇葩。

比如,运行环境的版本是php5.6,
而composer运行的依赖环境是php8。
这时候就需要安装多个版本的php,运行时,还需要控制不同版本。


二、因为很多依赖会写成大于等于什么版本。
于是当composer update成功执行后。各种最新版本,会导致各种报错。
毕竟绝大部分开发者不会想到php的版本向前根本不兼容,并且还抛弃。


所以,要解决composer报错。就需要针对两个核心问题去处理。

以下是可能的方法。

1、
初次安装
composer install

更新安装
composer updateP

更新依赖路径

composer 里加一个 "" : "./Applications/YourApp/"

"autoload": {
"psr-4": {
"" : "./",
"" : "./Applications/YourApp/"
}
}
然后执行 composer dump-autoload

2、
忽略错误时的安装
composer update --ignore-platform-reqs

3、有时候需要清理缓存后再安装
composer clear-cache


4、在composer中,添加平台约束。
这样才能确保更新的文件,不超过运行环境的版本。
不然会自动安装成最新版本。而php的各版本之间,根本不兼容。所以会出各种问题。

{
"config": {
"platform": {
"php": "7.4.33"
}
}
}

5、更新composer版本以配合运行环境。
sudo composer self-update 2.2.2

6、composer回到对应的状态
sudo composer self-update --rollback

7、
当更新报错时,可能因为php缺少扩展。需要安装xml、dom、zip扩展。

例如:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Root composer.json requires wander/wepay ^1.0 -> satisfiable by wander/wepay[v1.0.4].
    - wander/wepay v1.0.4 requires ext-xml * -> it is missing from your system. Install or enable PHP's xml extension.
  Problem 2
    - Root composer.json requires wechatpay/wechatpay ^1.4 -> satisfiable by wechatpay/wechatpay[1.4.0, ..., 1.4.12].
    - wechatpay/wechatpay[1.4.0, ..., 1.4.12] require ext-simplexml * -> it is missing from your system. Install or enable PHP's simplexml extension.
  Problem 3
    - qcloud/cos-sdk-v5[v2.6.0, ..., v2.6.16] require ext-simplexml * -> it is missing from your system. Install or enable PHP's simplexml extension.
    - Root composer.json requires qcloud/cos-sdk-v5 ^2.6 -> satisfiable by qcloud/cos-sdk-v5[v2.6.0, ..., v2.6.16].

To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini


8、但直接安装,可能由于ubuntu20.04版本问题,没有对应的包,所以需要先更新一下可安装的包。

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

再进行安装。
sudo apt-get install php7.4

sudo apt-get install php7.4-xml php7.4-dom php7.4-simplexml php7.4-zip

最后,在重复从一开始的步骤。


http://www.mrgr.cn/news/98423.html

相关文章:

  • 【VUE3】练习项目——大事件后台管理
  • Android studio消息同步机制:消息本地存储,服务器交互减压
  • Nodejs Express框架
  • linux 进程信号
  • 批处理脚本bat丨遍历一个包含项目名称的数组,并对每个文件中的项目执行 git pull 操作 (一键拉很多文件的代码)
  • C++ Json-Rpc框架-3项目实现(2)
  • hive数仓要点总结
  • Apache Hive学习教程
  • [Dify] 使用 Docker 本地部署 Dify 并集成 Ollama 模型的详细指南
  • (2025亲测可用)Chatbox多端一键配置Claude/GPT/DeepSeek-网页端配置
  • Gitea 1.23.7 速配
  • 腾讯云golang一面
  • 批量归一化(Batch Normalization)原理与PyTorch实现
  • 用Webpack 基础配置快速搭建项目开发环境
  • Multisim使用教程详尽版--(2025最新版)
  • DICOM通讯(ACSE->DIMSE->Worklist)
  • Linux vagrant 导入ubuntu到virtualbox
  • spring-boot nacos
  • Java-面向对象
  • Uniapp: 大纲