如何通过Composer安装Laravel
1个回答
展开全部
我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自这个文档的:composerupdate这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。因为composerupdate的逻辑是按照composer.json指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是所有扩展包,举个例子,你在项目一开始的时候使用了monolog,当时的配置信息是"monolog/monolog":"1.*",安装的是monolog1.1版本,而一个多月以后的现在,monolog已经是1.2了,运行命令后直接更新到1.2,这时项目并没有针对1.2进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。那应该使用哪个命令呢?install,update还是require?接下来我们一一解释。简单解释composerinstall-如有composer.lock文件,直接安装,否则从composer.json安装最新扩展包和依赖;composerupdate-从composer.json安装最新扩展包和依赖;composerupdatevendor/package-从composer.json或者对应包的配置,并更新到最新;composerrequirenew/package-添加安装new/package,可以指定版本,如:composerrequirenew/package~2.5.流程接下来介绍几个日常生产的流程,来方便加深大家的理解。流程一:新项目流程创建composer.json,并添加依赖到的扩展包; 运行composerinstall,安装扩展包并生成composer.lock;提交composer.lock到代码版本控制器中,如:git;流程二:项目协作者安装现有项目克隆项目后,根目录下直接运行composerinstall从composer.lock中安装指定版本的扩展包以及其依赖; 此流程适用于生产环境代码的部署。流程三:为项目添加新扩展包使用composerrequirevendor/package添加扩展包;提交更新后的composer.json和composer.lock到代码版本控制器中,如:git;关于composer.lock文件composer.lock文件里保存着对每一个代码依赖的版本记录(见下图),提交到版本控制器中,并配合composerinstall使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。关于扩展包的安装方法那么,准备添加一个扩展包,install,update,require三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?答案是:使用composerrequire命令另外,在手动修改composer.json添加扩展包后,composerupdatenew/package进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念: 原有项目新添加扩展的,都使用composerrequirenew/package这种方式来安装。完。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询