个人博客

Composer进阶使用之常用命令和版本约束

admin2019-12-23 16:02 2511人已围观

简介这篇文章主要介绍一些常用的包管理命令以及包的版本如何进行约束。

常用命令

require命令

在《Composer快速入门》中已经简单介绍过使用install命令安装依赖的方式。除了install命令,我们还可以使用require命令快速的安装一个依赖而不需要手动在composer.json里添加依赖信息:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

$ composer require monolog/monolog

Using version ^1.19 for monolog/monolog

./composer.json has been updated

Loading composer repositories with package information

Updating dependencies (including require-dev)

  - Installing psr/log (1.0.0)

    Downloading: 100%        

 

  - Installing monolog/monolog (1.19.0)

    Downloading: 100%        

 

monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)

......

monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)

Writing lock file

Generating autoload files


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


update命令

通过update命令,可以更新项目里所有的包,或者指定的某些包。

1

2

3

4

5

6

7

8

9

10

11

# 更新所有依赖

$ 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命令可以移除一个包及其依赖(在依赖没有被其他包使用的情况下):

1

2

3

4

5

6

7

$ composer remove monolog/monolog

Loading composer repositories with package information

Updating dependencies (including require-dev)

  - Removing monolog/monolog (1.19.0)

  - Removing psr/log (1.0.0)

Writing lock file

Generating autoload files


search命令

使用search命令可以进行包的搜索:

  • 微信公众号

很赞哦!(0)

文章评论


评论0

    站点信息

    • 微信公众号:扫描二维码,关注我们