Composer杂谈

Composer 的使用

要使用 Composer,我们需要先在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系。

文件格式如下:

{

    "require": {

 

        "monolog/monolog": "1.2.*"

    }

}

以上文件说明我们需要下载从 1.2 开始的任何版本的 monolog

接下来只要运行以下命令即可安装依赖包:

composer install

1)如果已经存在composer.lock时,读取composer.lock下载依赖。

2)如果没有 composer.lock 文件,读取 composer.json 文件,处理依赖关系,并把其安装到 vendor 目录下。

也就是说本地有一份composer.lock,你就可以保证无论过去了多久,你都能拉到相同的依赖。

所以应该把 composer.lock 放到 git 版本库中,这样可以确保你项目中的每一个人、每一台电脑,不管什么系统,都能拉取到一模一样的依赖,以减少潜在的依赖对部署的影响。

3.composer update

读取composer.json中指定的依赖,然后拉取依赖放入vendor目录下,并且把所有拉取依赖的确切的版本号写入composer.lock文件中。

(1)那么什么时候需要使用composer update呢?

比如某扩展发布的新版本有我们需要的新功能时,这时我们需要更新该扩展,我们update时指定具体更新的扩展名,如composer update package 而不要直接composer update。因为直接composer update后,所有的扩展都会更新,风险很大。

 

1composer update 根据composer.json来更新的,并把扩展的版本号写入到composer.lock中。

2composer install 根据composer.lock来更新的

3)开发过程中 少用 composer update ,应该用 composer install

4)如果新加一个包,可以使用:composer require "包名:版本号"

 

require 命令

除了使用 install 命令外,我们也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息:

$ composer require monolog/monolog

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

update 命令

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer   //切换阿里镜像

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 版本。关于版本约束请看后面的介绍。

remove 命令

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

$ composer remove monolog/monolog

Loading composer repositories with package information

Updating dependencies (including require-dev)

Package operations: 0 installs, 0 updates, 2 removals

  - Removing psr/log (1.0.2)

  - Removing monolog/monolog (1.23.0)

Generating autoload files

search 命令

search 命令可以搜索包:

$ composer search monolog

该命令会输出包及其描述信息,如果只想输出包名可以使用 --only-name 参数:

$ composer search --only-name monolog

show 命令

show 命令可以列出当前项目使用到包的信息:

# 列出所有已经安装的包

$ composer show

 

# 可以通过通配符进行筛选

$ composer show monolog/*

 

# 显示具体某个包的信息

$ composer show monolog/monolog

1composer list:获取帮助信息;
2composer init:以交互方式填写composer.json文件信息;
3composer install:从当前目录读取composer.json文件,处理依赖关系,并安装到vendor目录下;
4composer update:获取依赖的最新版本,升级composer.lock文件;
5composer require:添加新的依赖包到composer.json文件中并执行更新;
6composer search:在当前项目中搜索依赖包;
7composer show:列举所有可用的资源包;
8composer validate:检测composer.json文件是否有效;
9composer self-update:将composer工具更新到最新版本;
10composer create-project:基于composer创建一个新的项目;
11composer dump-autoload:在添加新的类和目录映射是更新autoloader
12composer remove twbs/bootstrap :删除依赖后还需要去vender文件夹里,手动删除
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值