一、composer入门

1、每次安装新的包文件,会更新/vendor/autoload.php文件

2、composer.lock与composer.json的关系

文件composer.lock会根据composer.json的内容自动生成,和composer.json在同一位置,即在安装完所有需要的包之后,Composer会在composer.lock文件中生成一张标准的包版本的文件,这将锁定所有包的版本。可以使用composer.lock (当然是和composer.json一起)来控制项目的版本。

composer.lock与composer.json的关系为,composer.json文件为包的元信息,composer.lock文件同样为包的元信息,但在composer.json文件中可以指定使用不明确的依赖包版本,如“>=1.0”,在composer.lock文件中的会是当前安装的版本。那么当使用Composer安装包时,它会优先从composer.lock文件读取依赖版本,再根据composer.json文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。这对于团队开发来讲非常重要。

二、composer常用命令

1、composer install

当项目重新部署或者合并分支时,都需要执行composer install命令。如果当前项目根目录存在composer.lock文件,则会首先根据composer.lock文件指定的包版本从composer中下载相应的包,如果没有,则根据composer.json文件到composer中下载合适版本的包,并生成composer.lock文件。

2、composer update

如果直接执行composer update命令,后面不指定包名,则会更新项目依赖的所有包文件,因此当项目已经成型,composer update命令要慎用,不能随便执行,特别是生产环境!

当然,我们可以在composer update命令后面跟上包名称,这样子就只会更新指定的包,具体步骤是:先修改composer.json文件中,对应包(比如monolog/monolog)的版本号为1.25.0,然后执行composer update monolog/monolog,则会更新monolog/monolog包到1.25.0版本,其他包不会受到影响。

3、composer require

使用频率最高的命令。当我们要往项目中引入某个包的时候,要使用该命令。

该命令执行会更新composer.json文件,并下载相应包版本,同时也会更新composer.lock文件。这样一来,其他项目成员只要拿到composer.lock文件后,执composer install命令即可获取到相同的包。
 
PHP交流群   656679284
 

composer 基础操作的更多相关文章

  1. laravel基础操作手册

    laravel基础操作手册 1.路由配置 测试配置路由: Route::get('/test', 'TestController@index'); 2.控制器书写 3.模型文件 4.增加扩展类文件 L ...

  2. python基础操作以及hdfs操作

    目录 前言 基础操作 hdfs操作 总结 一.前言        作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...

  3. MYSQL基础操作

    MYSQL基础操作 [TOC] 1.基本定义 1.1.关系型数据库系统 关系型数据库系统是建立在关系模型上的数据库系统 什么是关系模型呢? 1.数据结构可以规定,同类数据结构一致,就是一个二维的表格 ...

  4. 【Learning Python】【第二章】Python基础类型和基础操作

    基础类型: 整型: py 3.0解决了整数溢出的问题,意味着整型不必考虑32位,64位,有无符号等问题,你写一个1亿亿亿,就是1亿亿亿,不会溢出 a = 10 ** 240 print(a) 执行以上 ...

  5. Emacs学习心得之 基础操作

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Emacs学习心得之 基础操作 1.前言与学习计划2.Emacs基础操作 一. 前言与学习计 ...

  6. Git基础操作

    配置秘钥 1.检查本机有没有秘钥 检查~/.ssh看看是否有名为d_rsa.pub和id_dsa.pub的2个文件. $ ~/.sshbash: /c/Users/lenovo/.ssh: Is a ...

  7. activiti基础操作

    package activitiTest; import java.io.InputStream; import java.util.List; import java.util.zip.ZipInp ...

  8. 《Genesis-3D开源游戏引擎-官方录制系列视频教程:基础操作篇》

    注:本系列教程仅针对引擎编辑器:v1.2.2及以下版本 G3D基础操作   第一课<G3D编辑器初探> G3D编辑器介绍,依托于一个复杂场景,讲解了场景视图及其基本操作,属性面板和工具栏的 ...

  9. MYSQL 基础操作

    1.MySQL基础操作 一:MySQL基础操作 1:MySQL表复制 复制表结构 + 复制表数据 create table t3 like t1; --创建一个和t1一样的表,用like(表结构也一样 ...

  10. php之文件基础操作

    在php中对文件的基础操作非常的简单,php提供的函数粗略的用了一遍. file_get_contents():可以获取文件的内容获取一个网络资源的内容,这是php给我封装的一个比较快捷的读取文件的内 ...

随机推荐

  1. 学习SSD—day1_20240814

    1.SSD的基本概念以及结构 SSD是一种以半导体(半导体闪存)作为存储介质吗,使用纯电子电路实现的存储设备. SSD硬件包括几大组成部分:主控.闪存.缓存芯片DRAM(可选,有些SSD上可能只有SR ...

  2. DMS:直接可微的网络搜索方法,最快仅需单卡10分钟 | ICML 2024

    Differentiable Model Scaling(DMS)以直接.完全可微的方式对宽度和深度进行建模,是一种高效且多功能的模型缩放方法.与先前的NAS方法相比具有三个优点:1)DMS在搜索方面 ...

  3. 这才是java对象正解

    这才是 Java 对象正解 在深入讨论对象之前,让我们先明确对对象和实例的理解. 什么是对象? 对象(Object)是内存中分配的实际数据结构,它包含了数据和方法.在 Java 中,对象是类的一个实例 ...

  4. 如何用AI抠图助手进行直播--新手指南

    如何用AI抠图助手进行直播 因AI抠图助手目前还没有提供推流直播,所以,可以采用抖音的"手游直播"方式,即抖音开启手游直播后会录制你手机屏幕画面,进行录屏直播:所以我们只要打开AI ...

  5. 修改kubeadm证书过期时间及更新k8s集群证书

    一.为什么要修改 kubeadm 证书时间 Kubernetes 官方提供了 kubeadm 工具安装 kubernetes 集群,使用这个工具安装集群非常便捷,使部署和升级 Kubernetes 变 ...

  6. 【Python】之pip安装报错问题:WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None))

    我想安装python第三方库,但是始终报安装失败 经查询得知,需要国内源,有如下地址: 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https: ...

  7. 页面多次跳转加载时,window.onscroll方法失效问题解决

    1. vue mounted 方法中,写有滚动监听方法,为A页面 window.scroll = function () { .... } 从A页面跳转到B页面,再从B页面跳转回A页面, window ...

  8. 远距离跨网络实现windows远程桌面连接

    1.保证已经打开被连接电脑---远程访问---权限. 我的电脑--右键--属性--远程设置 2.选择允许连接 (选择用户和高级没有特殊设置可以不动,被连接电脑当前登陆的账号就可以满足权限) 3.打开- ...

  9. SEO – Schema and JSON-LD

    大纲介绍 Schema 是 Google, Microsoft, Yahoo 联合成立的, 目的是统一网页的表示方式, 这样搜素引擎会比较方便显示内容. 它虽然不算那种 w3c 独立的组织. 但其它的 ...

  10. 禁用QQ自动升级(实测可用)

    事件起因: 某客户电脑QQ从怀旧版(9.7)自动升级到NT版本(9.9)版本,新版本由于消息通知功能不能直接查看,老版本右下角消息闪烁,鼠标放上去便可以看到有几个联系人的消息,因此客户强烈要求版本回退 ...