慎用composer update_wulove52的博客-CSDN博客_composer update


本站和网页 https://blog.csdn.net/wulove52/article/details/78392663 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

慎用composer update_wulove52的博客-CSDN博客_composer update
慎用composer update
wulove52
于 2017-10-30 14:27:00 发布
29101
收藏
分类专栏:
composer
php
composer
同时被 2 个专栏收录
3 篇文章
0 订阅
订阅专栏
php
50 篇文章
0 订阅
订阅专栏
问题说明
我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:
composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。
因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是
"monolog/monolog": "1.*",
安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。
那应该使用哪个命令呢?install, update 还是 require ?
接下来我们一一解释。
简单解释
composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
composer update - 从 composer.json 安装最新扩展包和依赖;
composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
1234
流程
下来介绍几个日常生产的流程,来方便加深大家的理解。
流程一:新项目流程  创建 composer.json,并添加依赖到的扩展包;  运行 composer install,安装扩展包并生成 composer.lock;  提交 composer.lock 到代码版本控制器中,如:git;
流程二:项目协作者安装现有项目  克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;
此流程适用于生产环境代码的部署。
流程三:为项目添加新扩展包
使用 composer require vendor/package 添加扩展包;  提交更新后的 composer.json 和 composer.lock 到代码版本控制器中,如:git;
关于 composer.lock 文件
composer.lock 文件里保存着对每一个代码依赖的版本记录(见下图),提交到版本控制器中,并配合composer install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。
关于扩展包的安装方法
那么,准备添加一个扩展包,install, update, require 三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?
答案是:使用 composer require 命令
另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。
上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念:
原有项目新添加扩展的,都使用 composer require new/package 这种方式来安装。
需要加版本的话
composer require "foo/bar:1.0.0"
更新指定扩展到指定版本
有时候你之前使用过的扩展包,加入了新功能,你想更新单独这个扩展包到指定版本,也可以使用 require 来操作。
如下面例子,需要更新 “sami/sami”: “3.0.” 到 “sami/sami”: “3.2.” 
命令行运行:   
wulove52
关注
关注
点赞
收藏
评论
慎用composer update
问题说明我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用
复制链接
扫一扫
专栏目录
composer中国离线包
07-04
Composer 是 PHP5.3以上 的一个依赖管理工具。它允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。Composer 不是一个包管理器。是的,它涉及 "packages" 和 "libraries",但它在每个项目的基础上进行管理,在你项目的某个目录中(例如 vendor)进行安装。默认情况下它不会在全局安装任何东西。因此,这仅仅是一个依赖管理。假定你在创建一个项目,你的项目中需要一个输出日志的库,而且你决定使用monolog库。为了将monolog库添加到你的工程,只需创建 composer.json 文件,这个文件中的内容描述了项目的依赖关系。示例如下:{ "require": { "monolog/monolog": "1.2.*" }}
Composer,autoload原理
大炮哥的博客
09-14
181
通过composer install/update自动生成classMapclassMap其实就是autoload_classmap.php文件,源码如下// 其实就是自动生成了所有三方代码的键值对
评论 4
您还未登录,请先
登录
后发表或查看评论
composer install 和 composer update的区别
littlexiaoshuishui的博客
02-19
922
然而,对于如何『安装他们』,新手可能并不清楚。网上的答案有的说 composer install,有的说composer update,而这两者似乎都能成功把依赖下载下来并安装好,那么他们究竟有何区别呢?
首先要搞清楚的一件事情是,所有的依赖都定义在composer.json中,手册中给出了一些基本用法和例子。你可能已经注意到,在指定版本号的时候,我们并不一定要指明一个精确的版本。那么就有...
composer更新命令及常用命令
wjcms的博客
07-04
6405
原文地址:https://www.wjcms.net/archives/composer%E6%9B%B4%E6%96%B0%E5%91%BD%E4%BB%A4%E5%8F%8A%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4
composer作为php的包依赖管理工具,开发者将开发的工具包上传,然后使用者能很方便的使用,今天就总结一下。
composer安装
官方地址:https://getcomposer.org/download/
下载地址:https://getcompo.
解决宝塔Linux执行Composer update异常问题
最新发布
Bruce's Blog
11-11
132
看提示是PHP的扩展fiileinfo没开启之类的问题,所以果断查看PHP扩展,果然没开启;果断开启,确认已安装fileinfo扩展,然后重启php服务;再次执行上述命令,问题依旧(😓🤮🤮🤮);网上搜索一番,解决方法大概都是这样,这可咋整?以为是PHP版本号问题,果断更新PHP,不行;重启服务器,还是不行。搞死人了,后来在项目目录里,使用命令行执行,居然OK(⊙_⊙)?结论:宝塔面板里的Composer可能存在问题,如遇类似问题,请在项目目录执行命令尝试。
composer update失败解决办法
u013327643的博客
11-19
1901
切换阿里镜像,在命令窗口内输入地址:composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/即可。各位走过路过的大佬给点积分吧
update-helper:Composer插件会在更新时发出警告,建议迁移过程
02-25
更新助手
允许您向库用户显示更新/升级说明。
用法
...
" require " : {
" kylekatarnls/update-helper " : " ^1 "
},
" require-dev " : {
" composer/composer " : " ^1.2 " ,
},
" extra " : {
" update-helper " : " MyNamesapace \\ MyUpdateHelper "
},
" scripts " : {
" post-autoload-dump " : [
" UpdateHelper \\ UpdateHelper::check "
},
...
namespace MyNamesapace ;
use UpdateHelper \ UpdateHelper ;
正确的 Composer 扩展包安装方法
简单-生活
07-17
3万+
问题说明我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息
composer install 和 composer update区别
liguojia1987的博客
05-17
1819
当你执行composer update的时候,composer会根据composer.json去拉取符合条件的最新版本的依赖。然后他会把所拉取到的依赖放入vendor目录下,并且把所有拉取的依赖的精确版本号写入composer.lock文件中。
如果本地有一份composer.lock时,composer install会去读取你的composer.lock而非composer.json,并且以此为标准去下载依赖。否则,同composer update。
...
composer update报错
04-15
1338
Loading composer repositories with package information
Warning from https://mirrors.aliyun.com/composer: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecat
composer update抛出异常的处理
code is poetry
10-21
203
当本地运行composer update的时候提示Failed to update https://bitbucket.org/aaa/bbb.git package information from this repository may be outdated.
composer install与composer update的区别
热门推荐
不忘初心,方得始终
07-25
4万+
1.composer install
install 命令从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。
php composer.phar install
如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本,而不是根据 composer.json 文件去获取依赖。这确保了该库的每个使用者都能得
Composer安装包
02-06
在安装yii2.0 的时候用先安装composer-setup.exe 然后再按装yii2.0
运行 composer update 报错
weixin_30593261的博客
03-19
160
今天在Windows上升级Laravel 5.1.4至Laravel 5.1.11,运行composer update时报错:
解决方式如下:
编辑php.ini,修改zlib扩展相关配置:
zlib.output_compression = On
zlib.output_compression_level = 5
修改完成后保存php.ini,重启apache,再次运行compos...
Packagist / Composer 中国全量镜像
傅道集的博客
03-15
945
Packagist 镜像
请各位使用本镜像的同学注意:
本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 http://packagist.phpcomposer.com 修改为 https://packagist.phpcomposer.com
还没安装 composer 吗?请往下看如何安装 comp
composer安装项目步骤&项目安装包下载
qq_42999022的博客
12-14
1287
1.进入中文镜像:http://www.phpcomposer.com/ 并点击下载
2.下载完成双击安装,没说明的按next下一步就行了
这里选择你php版本
完成之后打开cmd,输入composer就可以看到效果了
...
composer update
oο星空^乐缘ふゞ
04-30
293
composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。
因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是
"monolog/monolog": "1.*",
安装的是 monolog...
composer 自动更新_快速提示:使Composer自行自动更新
culiu9261的博客
07-20
1107
composer 自动更新Composer is a great package manager for PHP. It allows us to install, update and upgrade third-party libraries. For those who don't know about composer, here is a good beginners guide on ...
composer require下载指定包,同时出现下载其他包
janthinasnail的博客
09-10
225
composer版本问题,导致composer require下载包存在差异
composer安装出错,composer update 更新不成功,涉及版本 version
weixin_45373940的博客
11-20
1187
composer 新安装包出错,composer update 也提示也报错,这时候就是composer版本问题了
处理方案:
1.找到新包的安装依赖,尝试用更高的版本安装(如果失败)
2.composer update 确定一下该项目下的依赖文件是否能正常运行
3.本次错误,是因为composer版本更新,替换掉了一些东西,所以执行composer self-update 更新版本,然后再次composer update 更新文件,都执行成功后,再去安装新包
...
composer更新指定包||composer 常用命令
lxw1844912514的博客
07-08
3875
composer config -l #查看一下当前项目的composer镜像
composer list 显示所有命令
composer show 显示所有包信息
composer install 在 composer.json 配置中添加依赖库之后运行此命令安装
composer create-project laravel/laravel Laravel –prefer-dist “5.1.*” 创建项目
composer search packagename 搜索包
composer.
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
wulove52
CSDN认证博客专家
CSDN认证企业博客
码龄15年
暂无认证
73
原创
14万+
周排名
187万+
总排名
35万+
访问
等级
4074
积分
63
粉丝
71
获赞
18
评论
215
收藏
私信
关注
热门文章
慎用composer update
29096
git删除远程分支和tag相关命令
20898
laravel中的错误与日志(可以自定义日志目录和log文件名)
18582
linux中支持断点续传的命类似SCP的命令rsync
15025
smarty模板引擎--php高级最详细教程
14169
分类专栏
php
50篇
git
7篇
mysql
6篇
javascript
14篇
Linux basic
11篇
Python
c/c++
Shell
Redis
Mongodb
1篇
Go
Node.js
4篇
web服务环境搭建与配置
13篇
Nginx
2篇
laravel
10篇
swoole
算法
2篇
佳作/思考
4篇
其他文章
1篇
工具使用和配置
git命令
2篇
常用命令
1篇
html+css
6篇
linux
9篇
自学linux
2篇
linux简介
1篇
xampp
1篇
mysql密码重置
windows
composer
3篇
npm
5篇
前端脚手架
1篇
读书
1篇
yii框架
1篇
DEDECMS二次开发
7篇
webpack
1篇
webstorm
最新评论
关于启动vagrant up 蓝屏的一个问题的思考
金九亿joey:
我也遇到了这个情况,记一下这个知识点
javascript 作用域、变量提升练习题
难瘦丶:
最后一题没有2
linux中支持断点续传的命类似SCP的命令rsync
Tisfy:
我毫不犹豫的把楼主的这个帖子收藏了
Nginx负载均衡与高可用的实现
小zg:
慎用composer update
He195501:
真的坑爹 使用了composerupdate直接把我的底包更新玩毒子了
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
javascript this指向总结
javascript 作用域、变量提升练习题
javascript 栈内存、堆内存、作用域、变量(变量提升ES5)全面了解之间的关系(1)
2019年17篇
2018年14篇
2017年45篇
2016年50篇
目录
目录
分类专栏
php
50篇
git
7篇
mysql
6篇
javascript
14篇
Linux basic
11篇
Python
c/c++
Shell
Redis
Mongodb
1篇
Go
Node.js
4篇
web服务环境搭建与配置
13篇
Nginx
2篇
laravel
10篇
swoole
算法
2篇
佳作/思考
4篇
其他文章
1篇
工具使用和配置
git命令
2篇
常用命令
1篇
html+css
6篇
linux
9篇
自学linux
2篇
linux简介
1篇
xampp
1篇
mysql密码重置
windows
composer
3篇
npm
5篇
前端脚手架
1篇
读书
1篇
yii框架
1篇
DEDECMS二次开发
7篇
webpack
1篇
webstorm
目录
评论 4
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值