composer常用命令详解

发布时间:2024-03-26 12:16:16
composer list

获取帮助信息。


composer init

以交互方式填写文件信息,自动创建composer.json文件。


composer config --list

查看项目配置信息。


composer config [options] [setting-key] [setting-value1] ... [setting-valueN]

更改配置,setting-key 是一个配置选项的名称,setting-value1 是一个配置的值。可以使用数组作为配置的值(像 github-protocols),多个 setting-value 是允许的。


composer install

从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据composer.json 文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。

如果没有 composer.lock 文件,composer 将在处理完依赖关系后创建它。


composer require packagename

增加新的依赖包到当前目录的 composer.json 文件中。

在添加或改变依赖时, 修改后的依赖关系将被安装或者更新。


composer remove packagename

删除依赖后还需要去vender文件夹里,手动删除。


composer update

获取项目的所有依赖最新版本,并将确切的版本号写入 composer.lock。


composer update packagename

更新指定依赖(多个依赖用空格分隔),并将确切的版本号写入 composer.lock。


composer self-update

将composer工具更新到最新版本。


composer dump-autoload

某些情况下你需要更新 autoloader,例如在你的包中加入了一个新的类。你可以使用 dump-autoload 来完成,而不必执行 install 或 update 命令。

此外,它可以打印一个优化过的,符合 PSR-0/4 规范的类的索引,这也是出于对性能的可考虑。在大型的应用中会有许多类文件,而 autoloader 会占用每个请求的很大一部分时间,使用 classmaps 或许在开发时不太方便,但它在保证性能的前提下,仍然可以获得 PSR-0/4 规范带来的便利。

打印自动加载索引-参数:

--optimize (-o): 转换 PSR-0/4 autoloading 到 classmap 获得更快的载入速度。这特别适用于生产环境,但可能需要一些时间来运行,因此它目前不是默认设置。

--no-dev: 禁用 autoload-dev 规则。


composer search packagename

为当前项目搜索依赖包,通常它只搜索 packagist.org 上的包。


composer show

列出所有可用的软件包。


composer show packagename

查看一个包的详细信息,可以包名后空格加一个软件包的版本号,来显示该版本的详细信息。


composer validate

在提交 composer.json 文件,和创建 tag 前,你应该始终运行 validate 命令。它将检测你的 composer.json 文件是否是有效的。


composer depends --link-type=require packagename

依赖性检测,查出已安装在你项目中的某个包,是否正在被其它的包所依赖,并列出他们。

依赖性检测-参数:

--link-type: 检测的类型,默认为 require 也可以是 require-dev。