PHP包管理器composer更新常用命令

偶尔会用到composer来进行依赖安装和升级,这里记录下使用频率较高的命令

1、自升级命令(用于更新 composer 包管理器本身升级)

# 将你本地的包管理器升级到最新稳定版本
# --stable: 默认参数可不填写
composer self-update --stable

2、新建项目

# 直接在本地目录创建新项目
# --prefer-dist: 当项目有可用的包时,从项目的 dist 版安装(可以规避从 GitHub 下载源码)
composer create-project username/packagename your/local/path 1.1.*

3、依赖包的安装、升级

# 安装全部依赖
# 通常是第一次拉取项目后根据项目 composer.lock 执行项目所有包的安装
composer install

# 安装一个或多个依赖包(空格隔开)
# --update-with-dependencies: 一并更新该包引用的其他依赖
composer require username/packagename:2.* username/packagename2:dev-master --update-with-dependencies

# 更新所有依赖包
# 会更新整个项目的所有依赖包(慎用,可能会导致某些兼容问题)
composer update

# 仅更新某个包到某个版本
# --with-all-dependencies: 递归更新该包的其他依赖,通常用来解决额外依赖包的升降级问题
# --ignore-platform-reqs: 通常用来忽略检查php的前置环境,如
composer update username/packagename:^1.0 --with-all-dependencies --ignore-platform-reqs

忽略平台、php扩展的检查,一般用于快速开发非依赖包相关功能时使用

--ignore-platform-reqs: 通常用来忽略检查 php 的前置环境,如 php 版本、扩展

Problem 1
– Root composer.json requires PHP extension ext-gd * but it is missing from your system. Install or enable PHP’s gd extension.
Problem 2
– phpoffice/phpspreadsheet is locked to version 1.29.0 and an update of this package was not requested.
– phpoffice/phpspreadsheet 1.29.0 requires ext-gd * -> it is missing from your system. Install or enable PHP’s gd extension.

如上问题可使用--ignore-platform-reqs参数忽略

4、删除依赖包

composer remove username/packagename

5、配置镜像源

见如下文章

全文参考文章:https://docs.phpcomposer.com/03-cli.html

Author: thinkwei

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注