laravel 安装 Laravel 扩展包

问题说明

咱们常常要往现有的项目中添加扩展包,有时候由于文档的错误引导,以下图来自这个文档 的:git

composer update 这个命令在咱们如今的逻辑中,可能会对项目形成巨大伤害。github

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

"monolog/monolog": "1.*",

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

那应该使用哪一个命令呢?install, update 仍是 require ?测试

接下来咱们一一解释。ui

简单解释

  • 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.

流程

接下来介绍几个平常生产的流程,来方便加深你们的理解。spa

流程一:新项目流程

  1. 建立 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 使用,保证了团队全部协做者开发环境、线上生产环境中运行的代码版本的一致性。code

关于扩展包的安装方法

那么,准备添加一个扩展包,install, update, require 三个命令均可以用来安装扩展包,选择哪个才是正确的呢?blog

答案是:使用 composer require 命令

另外,在手动修改 composer.json 添加扩展包后, composer update new/package 进行指定扩展包更新的方式,也能够正确的安装,不过不建议使用这种方法,由于,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给本身留坑呀。

上面的概念不论对新手或者老手来讲,都比较混淆,主要记住这个概念:

原有项目新添加扩展的,都使用 composer require new/package 这种方式来安装。

原文连接 http://www.tuicool.com/articles/riYbm2b

相关文章
相关标签/搜索