composer install、update、require 区别
1. 前言
首先要搞清楚的一件事情是,所有的依赖都定义在composer.json中。
在指定安装扩展包的时候,并不是非要指明一个精确的版本。
那么就有可能发生这么一个情况,对于同一份composer.json,我们在不同时刻拉取到的依赖文件可能不同(因为composer会在满足条件的情况下去拉取最新的那份依赖),从而导致一些异常情况。
composer update
和 composer install
正是为了解决这个问题而出现的。
2. composer install 和 composer update 的区别
相同点
当本地不存在 composer.lock
文件时, composer instal 和 composer update 作用相同, 都会去读取 composer.json 中定义的依赖, 并且去拉取符合条件的最新版本的依赖, 然后把所拉取到的依赖放入 vendor 目录下, 最后把所有拉取的依赖的精确版本号写入 composer.lock 文件
不同之处
当本地存在 composer.lock
文件时, composer install 将会去读取 composer.lock 中存储的版本号, 并且以此标准去下载依赖; 而 composer update 则不会去读取 composer.lock 中的版本号, 他仍然会去读取 composer.json 中定义的依赖, 生成新的 composer.lock 文件
composer install 和 composer update 的选择
初始安装依赖优先使用 composer install, 因为他会去读取 composer.lock 文件, 按照精确的版本号拉取依赖。
不要轻易的使用 composer update 更新所有的依赖, 因为它会去读取 composer.json 中依赖,拉取满足条件的最新依赖包,很容易出现问题。
当更新某个依赖时,可以使用 composer update
composer update topthink/think-queue=2.*
3. composer require
composer require 用于引入新的扩展包, 并且会生成新的 composer.lock 文件
相关文章
- Jgit的使用笔记
- 利用Github Action实现Tornadofx/JavaFx打包
- 叹息!GitHub Trending 即将成为历史!
- 微软软了?开源社区讨论炸锅,GitHub CEO 亲自来答
- GitHub Trending 列表频现重复项,前后端都没去重?
- Photoshop Elements 2021版本软件安装教程(mac+windows全版本都有)
- (ps全版本)Photoshop 2020的安装与破解教程(mac+windows全版本都有)
- (ps全版本)Photoshop cc2018的安装与破解教程(mac+windows全版本,包括2023
- 环境搭建:Oracle GoldenGate 大数据迁移到 Redshift/Flat file/Flume/Kafka测试流程
- 每个开发人员都要掌握的:最小 Linux 基础课
- 来撸羊毛了!Windows 环境下 Hexo 博客搭建,并部署到 GitHub Pages
- 超实用!手把手入门 MongoDB:这些坑点请一定远离
- 【GitHub日报】22-10-09 zustand、neovim、webtorrent、express 等4款App今日上新
- 【GitHub日报】22-10-10 brew、minio、vite、seaweedfs、dbeaver 等8款App今日上新
- 【GitHub日报】22-10-11 cobra、grafana、vue、ToolJet、redwood 等13款App今日上新
- Photoshop 2018 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2017 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2020 下载及安装教程(mac+windows全版本都有,包括最新的2023)
- Photoshop 2023 资源免费下载(mac+windows全版本都有,包括最新的2023)
- 最新版本Photoshop CC2018软件安装教程(mac+windows全版本都有,包括2023