zoukankan      html  css  js  c++  java
  • Composer使用 —— 常用命令和版本约束

    常用命令

    require命令

    我们还可以使用require命令快速的安装一个依赖而不需要手动在composer.json里添加依赖信息。

    $ composer require monolog/monolog
    

    Composer会先找到合适的版本,然后更新composer.json文件,在require那添加monolog/monolog包的相关信息,再把相关的依赖下载下来进行安装,最后更新composer.lock文件并生成php的自动加载文件。

    update命令

    通过update命令,可以更新项目里所有的包,或者指定的某些包。

    # 更新所有依赖
    $ composer update
     
    # 更新指定的包
    $ composer update monolog/monolog
     
    # 更新指定的多个包
    $ composer update monolog/monolog symfony/dependency-injection
     
    # 还可以通过通配符匹配包
    $ composer update monolog/monolog symfony/*
    
    

    需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果composer.json里包的版本约束为^1.10,而最新版本为2.0。那么update命令是不能把包升级到2.0版本的,只能最高升级到1.x版本。关于版本约束请看后面的介绍。

    remove命令

    使用remove命令可以移除一个包及其依赖(在依赖没有被其他包使用的情况下):

    $ composer remove monolog/monolog
    

    search命令

    使用search命令可以进行包的搜索:

    $ composer search monolog
    

    show命令

    使用show命令可以列出项目目前所安装的包的信息:

    # 列出所有已经安装的包
    $ composer show
     
    # 可以通过通配符进行筛选
    $ composer show monolog/*
     
    # 显示具体某个包的信息
    $ composer show monolog/monolog
    
    

    版本约束

    前面说到,我们可以指定要下载的包的版本。例如我们想要下载版本1.19的monolog。我们可以通过composer.json文件:

    {
        "require": {
            "monolog/monolog": "1.19"
        }
    }
    
    

    然后运行install命令,或者通过require命令达到目的:

    $ composer require monolog/monolog:1.19
     
    # 或者
    $ composer require monolog/monolog=1.19
     
    # 或者
    $composer require monolog/monolog 1.19
    
    

    基本约束

    精确版本

    可以指定具体的版本,告诉Composer只能安装这个版本。但是如果其他的依赖需要用到其他的版本,则包的安装或者更新最后会失败并终止。

    例子:1.0.2

    范围

    使用比较操作符你可以指定包的范围。这些操作符包括:>>=<<=!=

    通配符

    可以使用通配符去定义版本。1.0.*相当于>=1.0 <1.1

    波浪号~

    ~`操作符的用法:`~1.2`相当于`>=1.2 <2.0.0
    

    版本稳定性

    如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable

  • 相关阅读:
    line-height 对a标签在有些浏览器中不支持
    git 学习手记
    nth-child 与 nth-of-type区别
    less学习笔记(持续更新)
    如何让textarea的placeholder中的文字换行
    livereload 不刷新页面 保存文件后 浏览器自动重新刷新
    优雅降级元(CSS JS)
    vw vh vm CSS长度单位
    NODE_PATH的设置
    EF学习笔记(十二):EF高级应用场景
  • 原文地址:https://www.cnblogs.com/caibaotimes/p/14199517.html
Copyright © 2011-2022 走看看