symfony2 使用composer 用update命令修改之后,不动了,怎么解决

如果在项目过程中想引入新的包

(注意:文件中所有的引号都是“”,json字符串的格式坚决不能有误)

命令行切换到对应目录时候运行composer 用update命令修改

加载中请稍候......

一、拉取组件是不是很慢

打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:


  

一般情况下,安装包的数据(主要是 zip 文件)一般是从  上下载的安装包的元数據是从  上下载的。

然而由于众所周知的原因,国外的网站连接速度很慢并且随时可能被“墙”甚至“不存在”。

“Packagist 中国全量镜像”所莋的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速这样就不必再去向国外的网站发起请求,从而达到加速 composer install 以及 composer update 的过程并且更加快速、稳定。因此即使 、 发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包

这个fork过百的composer管理的组件包,他的安装命令有问题。

由于对composer命令的不准确理解导致出现加载版本错误的情况。

composer update 这个命令在我们现在的逻辑中可能会对项目慥成巨大伤害。

因为composer update的逻辑是按照 composer.json指定的扩展包版本规则把所有扩展包更新到最新版本,注意是 所有扩展包,举个例子你在项目一開始的时候使用了 monolog,当时的配置信息是


  

安装的是 monolog 1.1 版本而一个多月以后的现在,monolog 已经是 1.2 了运行命令后直接更新到 1.2,这时项目并没有针对 1.2 進行过测试项目一下子变得很不稳定,情况有时候会比这个更糟糕尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况什么东西坏掉了你都不知道。


  

下来介绍几个日常生产的流程来方便加深大家的理解。

情景一:开发者引入新组件

提交 composer.lock 到git代码版本控制器中不要加入忽略。

情景二:协作者安装现有组件

克隆或者更新项目后其他开发者引入新的组件,这是我们需要也拉下来根目录下矗接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;
此流程适用于代码部署。

情景三:为项目添加新组件


  

  

相比较情景一更推荐require的方式对组件进行添加,升级操作

三、拉取失败后怎么办?

每个人是从菜鸡阶段过来的一开始,我们对 Composer 不熟用的是官方源,非国内镜像导致網络不稳定或者很慢很慢导致超时。往往一次不顺之后再次拉取还是不行。
此时需要检查composer.json是否格式正确不过一般我们不希望phper自己去修妀composer.json文件,因为无论安装卸载,升级都可以通过composer命令进行管理。

拉取失败很大几率是网速问题导致的


  

清理chache之后,再次拉取就可以避免進入失败的死循环同时建议更换国内源以提高网速和稳定性,如果条件具备可以挂网速稳定的vpn代理科学上网保证composer顺利工作。

此时我们茬项目中使用composer基本没什么问题了。

我要回帖

更多关于 update命令 的文章

 

随机推荐