听说你也想学 Composer----常见命令手册

上一篇文章我们聊了版本号以及它的一些注意事项,是不是有一丢丢小收获呢?这一篇我们来说说composer的一些常用的命令

全局参数

全局参数虽然不是必要的,但是有时候可以帮助我们更好地了解并使用 composer:

# 查看composer的版本
> composer -V

# debug模式,输出详细的命令执行过程
> composer -vvv

# 取消交互模式( --no-interaction )
> composer init -n 

# 终端不输出任何信息( --quiet )
> composer require vendor/package -n

从上面所列举的常用全局参数中可以发现一个规律:缩略形式使用”-“,完整形式使用”–”

require和install(增)

require和install都是用来安装依赖包的。 require通常用于安装指定的某一个依赖包,而 install通常用于刚从版本库克隆下来的项目它的依赖包初始化工作。

区别:前者不依赖composer.json文件,如果文件不存在则会自动创建。而后者必须依赖 composer.json文件或者 composer.lock文件,否则会报错!

此外, install命令的行为有一点需要注意:当存在 composer.lock文件时会以其中指定的依赖包及版本进行安装,当不存在时,则会根据 composer.json声明的依赖包及版本进行安装并生成 composer.lock文件。

# 安装指定依赖包
> composer require  vendor/package

# 项目从github上拉取下来后,安装所有的依赖
> composer install

注: composer.lock 顾名思义,它的作用就是锁定,记录当前已经安装的包信息,保证多人开发项目版本的一致性。它将会省掉检查新版等很多工作,直接从文件里读取下载地址开始下载,会快很多。

remove(删)

用于删除指定的依赖包。该命令会更新 composer.json以及 composer.lock文件。

这里也有一个注意点:直接删除 vendor目录下面的包并不会更新 composer.lock文件,下次执行install命令仍旧会安装上。

#删除指定的依赖包
> composer remove vendor/package

update(改)

用于更新依赖包。主要有三种使用场景:

  • 更新指定的依赖包
# 更新指定的依赖包
> composer update vendor/package
  • 更新当前项目的所有依赖包
# 更新当前项目的所有依赖包
> composer update
  • 修改了 composer.json文件并使其生效
# 修改了composer.json文件使其生效,同样会修改composer.lock文件
> composer update

search(查)

用于搜索依赖包。它其实就是 http://packagist.org 网站的搜索框功能:

默认是根据包名称、包描述等等关键字进行匹配,也可以做一些定制化处理:

# 只根据包名称匹配( --only-name )
> composer search -n laravel

# 只根据包的类型匹配( --type )
> composer search laravel -t project

create-project(初始化项目)

当我们用框架初始化项目时一般会用到这个命令,例如:我需要用laravel框架开发一个博客系统,前期项目初始化:

# 初始化项目
> composer create-project laravel/laravel blog

注: create 等价于 create-project,因为 composer 可以根据 create 唯一确定命令为create-project。实际上任何缩写只要与之对应的命令唯一,composer都是会执行的。

dump-autoload(自动加载)

当你修改了composer.json文件的autoload属性值时,为了使其生效你需要执行该命令:

# 自动加载
> composer dump-autoload

config(配置)

查看配置信息。例如:

# 查看当前项目的配置信息( --list )
> composer config -l

# 查看全局的配置信息( --global --list )
> composer config -g -l

注: 全局的配置信息在家目录的 .composer 文件夹下,名为 config.json 。

配置命令有一个比较常用的使用场景:切换全局镜像

# 切换全局镜像> composer config -g repos.packagist composer https://mirrors.aliyun.com/composer/

总结

本文主要介绍了一些常用的composer命令,希望对你有帮助。

本作品采用《CC 协议》,转载必须注明作者和本文链接
三斤
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
lochpure

你好,我觉得你这个完全可以做成系列文章呀,可以考虑下

系列文章参考:系列文章《社区使用指南》

4年前 评论
三斤和他的喵 (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!