composer 使用

composer 的仓库

https://packagist.org/

下载单个依赖包,两种方式,后边可跟上版本号

composer require yiisoft/yii2-gii 2.04 OR
php composer.phar require yiisoft/yii2-gii 2.0.4

安装所有依赖包

  1. 首先在 composer.json 文件中写明所需要的依赖,requirerequire-dev

    "require": {
        "php": ">=5.4.0",
        "yiisoft/yii2": "~2.0.5",
        "yiisoft/yii2-bootstrap": "~2.0.0",
        "yiisoft/yii2-swiftmailer": "~2.0.0",
        "yiisoft/yii2-elasticsearch": "^2.0"
    },
    "require-dev": {
        "yiisoft/yii2-debug": "~2.0.0",
        "yiisoft/yii2-gii": "~2.0.0",
        "yiisoft/yii2-faker": "~2.0.0",
    
        "codeception/base": "^2.2.3",
        "codeception/verify": "~0.3.1",
        "codeception/specify": "~0.4.3"
    },
  2. 安装声明的所有依赖包
    composer install OR
    php composer.phar install

以项目的形式下载 https://packagist.org/ 的程序

  1. 主要通过 composer create-project命令
  2. 比如下载 basic 应用程序模板
    下载 yiisoft/yii2-app-basic 并命名文件夹为 basic
    composer create-project yiisoft/yii2-app-basic basic
  3. composercss、js等不太友好,有可能安装会出现错误,这时候我们可以通过https://packagist.org/去下载项目的 guthub 地址寻找安装命令
  4. 比如以上的应用模板的官方安装命令
    php composer.phar create-project --prefer-dist --stability=dev yiisoft/yii2-app-basic basic

安装中国镜像,加快下载速度

https://pkg.phpcomposer.com/

  1. 第一种方法,修改全局配置(推荐)
    composer config -g repo.packagist composer https://packagist.phpcomposer.com
  2. 第二种方法,修改当前的 composer.json配置文件,不做详解

composer.json的架构

https://docs.phpcomposer.com/04-schema.html
http://caixia.blog.51cto.com/2266345/1754160
版本定义的两种方式:

  1. 标准的版本:定义保准的版本包文件,如:1.0.2
  2. 一定范围的版本:使用比较符号来定义有效的版本的范围,有效的符号有>, >=, <,<=, !=
  3. 通配符:特别的匹配符号,例如1.0.就相当于>=1.0,<1.1版本的即可
  4. 下一个重要的版本:~符号最好的解释就是,~1.2就相当于>1.2,<2.0,但~1.2.3就相当于>=1.2.3,<1.3版本。

composer.lock - 锁定文件

  1. 在安装完所有需要的包之后,composer会生成一张标准的包版本的文件在composer.lock文件中。这将锁定所有包的版本。
  2. 使用composer.lock(当然是和composer.json一起)来控制你的项目的版本
    这一点非常的重要,我们使用install命令来处理的时候,它首先会判断composer.lock文件是否存在,如果存在,将会下载相对应的版本(不会在于composer.json里面的配置),这意味着任何下载项目的人都将会得到一样的版本。
    如果不存在composer.lock,composer将会通过composer.json来读取需要的包和相对的版本,然后创建composer.lock文件
    这样子就可以在你的包有新的版本之后,你不会自动更新了,升级到新的版本,使用update命令即可,这样子就能获取最新版本的包并且也更新了你的composer.lock文件。
    $ php composer.phar update
    或者
    $ composer update

发表评论