PHP composer 日常使用和理解
程序员文章站
2022-03-25 19:11:12
composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到 日常操作,走起 第一部分 : 安装 composer.json 这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。 composer.json 内容格式详见 其中版本约束 详见 创建并填写 ......
composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到
日常操作,走起
第一部分 : 安装 composer.json
composer init
这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。
composer.json 内容格式详见
{ "require": { "monolog/monolog": "1.0.*" } }
其中版本约束
名称 | 实例 | 描述 |
---|---|---|
确切的版本号 | 1.0.2 |
你可以指定包的确切版本。 |
范围 |
>=1.0 >=1.0,<2.0 >=1.0,<1.1|>=1.2
|
通过使用比较操作符可以指定有效的版本范围。 有效的运算符: > 、>= 、< 、<= 、!= 。 你可以定义多个范围,用逗号隔开,这将被视为一个逻辑and处理。一个管道符号 | 将作为逻辑or处理。 and 的优先级高于 or。 |
通配符 | 1.0.* |
你可以使用通配符* 来指定一种模式。1.0.* 与>=1.0,<1.1 是等效的。 |
赋值运算符 | ~1.2 |
这对于遵循语义化版本号的项目非常有用。~1.2 相当于>=1.2,<2.0 。想要了解更多,请阅读下一小节。 |
composer install
创建并填写好composer.json ,执行 install 命令来进行第一次安装
第一次安装会检查里面列的软件包,依赖等,寻找合适(通过约束)的版本号
之后会生成一个锁文件 composer.lock
锁文件里记录了每一个包确切的版本号
再次执行安装的时候会检查锁文件是否存在,存在就按照锁文件中指定的直接安装
第二部分 : 向项目(已存在composer.json)中添加包
composer require 依赖包/依赖包:版本号
还可以同时添加多个 空格空开 eg: doctrine/orm:1.0.0
第三部分 : 更新
composer update
这条命令无视锁文件,把 composer.json 里列的依赖更新一遍,重新生成锁文件
第四部分:用依赖包创建项目
composer create-project 依赖包/依赖包 路径路径 版本版本
注意 用包创建项目时,也可以指定版本,但版本约束在第三个参数,第二个参数是项目路径(相对)。未指定版本默认安装最新版本
eg: laravel/laravel path 5.8.0
附录
- 切换中国镜像源
composer config -g repo.packagist composer https://packagist.phpcomposer.com
- 在生产环境中,安装初始化项目使用 -o 选项。详见官方文档
--optimize-autoloader (-o) :
转换 psr-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
上一篇: 杂谈篇之我是怎么读源码的,授之以渔
下一篇: 计算机组成与操作系统