Composer 使用

composer 作为 PHP 开发中依赖管理工具,平时经常会用到,今天总结一下常用命令。以下内容均来自 Windows 环境下。


参考文档:
菜鸟教程
官网(一般不用)
中文官网
官方文档
Packagist
中国全量镜像

一、Composer 使用

  1. install 命令 (初始化项目的时候会用到)
    要使用 Composer,先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。

    {
        "require": {
            "monolog/monolog": "1.2.*"
        }
    }
    

    以上文件说明我们需要下载从 1.2 开始的任何版本的 monolog。接下来只要运行以下命令即可安装依赖包:

    composer install
    

    使用 composer install 命令安装项目依赖。如果 composer.lock 文件存在,Composer 会从该文件读取依赖版本并安装到 vendor 目录下。如果 composer.lock 文件不存在,Composer 会从 composer.json 文件读取依赖版本并安装。

    除了使用 install 命令外,我们也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息。平时用到最多,一般都在框架中安装扩展时候会用到。

    composer require monolog/monolog
    

    Composer 会先找到合适的版本,然后更新composer.json文件,在 require 那添加 monolog/monolog 包的相关信息,再把相关的依赖下载下来进行安装,最后更新 composer.lock 文件并生成 php 的自动加载文件。

  2. update 命令

    # 更新所有依赖-(慎用,会将项目中,所有依赖项全部更新,如果有需要,可以用下面命令更新指定的包)
    composer update
    
    # 更新指定的包
    composer update monolog/monolog
    
    # 更新指定的多个包
    composer update monolog/monolog symfony/dependency-injection
    
    # 还可以通过通配符匹配包
    composer update monolog/monolog symfony/*
    

    包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。

  3. remove 命令
    remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除:

    composer remove monolog/monolog
    
  4. search 命令 (一般不用)
    search 命令可以搜索包:

    composer search monolog
    # 该命令会输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数:
    composer search --only-name monolog
    
  5. show 命令 (一般不用)
    show 命令可以列出当前项目使用到包的信息:

    列出所有已经安装的包
    composer show
    可以通过通配符进行筛选
    composer show monolog/*
    显示具体某个包的信息
    composer show monolog/monolog
    

二、基本约束

  1. 精确版本:指定版本。
  2. 范围:使用比较操作符来指定包的范围。(>,>=,<,<=,!=)
  3. 通配符:1.0.*相当于>=1.0 <1.1
  4. 波浪号:~1.2
  5. 折音号:^1.2.3相当于>=1.2.3 <2.0.0

三、镜像源

默认镜像源:https://repo.packagist.org
查看当前镜像:composer config -g --list --verbose

  1. 更改阿里云 Composer 全量镜像:

    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/ 
    

    中国全量镜像:https://mirrors.tencent.com/composer
    腾讯云:https://mirrors.cloud.tencent.com/composer
    取消配置:

    composer config -g --unset repos.packagist
    
  2. 仅修改当前工程配置,仅当前工程可使用该镜像地址

    composer config repo.packagist composer https://mirrors.aliyun.com/composer/
    

    取消配置:

    composer config --unset repos.packagist
    
  3. 其他

    Composer版本升级到最新 :composer self-update
    清除缓存 :composer clear
    若项目之前已通过其他源安装,则需要更新 composer.lock 文件,执行命令:composer update --lock
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值