PHP composer 日常使用命令和理解
2024-08-29 01:57:17
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 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
作者:saopanda 地址 https://www.cnblogs.com/saopanda/p/10819243.html
转载请附原链接,谢谢!
最新文章
- 【OpenJudge 8463】Stupid cat &; Doge
- ubuntu 编译源码坏境配置
- SVM学习笔记(二):什么是交叉验证
- Nginx 使用IP限制访问来源
- Java内各种进制的表示
- linux下log4j乱码解决
- 【LeetCode】172. Factorial Trailing Zeroes
- Swift开发中的一些琐碎
- How To: Perl TCP / UDP Socket Programming using IO::Socket::INET
- 怎样将Android手机弄死机?
- 分布式进阶(十八) 分布式缓存之Memcached
- Java语言实现二分法
- 网球pt站 T3nnis 情况说明
- H5 标签选择器
- urlrewrite的rule怎么写
- Python+Excel+Unittest+HTMLTestRunner实现数据驱动接口自动化测试(一)
- SkylineGlobe TEPro 6.6.1 二次开发导出KML或者KMZ文件示例代码
- 神兽保佑代码无bug O(∩_∩)O
- Beanstalkd消息队列的安装与使用
- 自动添加 Qt 开发生成的 exe 所需的依赖环境
热门文章
- 《avascript 高级程序设计(第三版)》 ---第三章 基本概念
- winform中通过事件实现窗体传值思路【待修改】
- 算法(Algorithms)第4版 练习 链表类 1.3.19~1.3.29
- (5)表单Action后台验证
- Mysql转换表存储引擎的三种方式
- linux命令学习笔记(52):ifconfig命令
- linux 下文件恢复工具extundelete介绍
- HDU4080Stammering Aliens(后缀数组+二分)
- 「LOJ#10056」「一本通 2.3 练习 5」The XOR-longest Path (Trie
- 误删除$ORACLE_HOME/dbs下的参数文件、密码文件,如何快速重建