composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到

日常操作,走起

第一部分 : 安装 composer.json

  1. composer init

这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。

composer.json 内容格式详见

  1. {
  2. "require": {
  3. "monolog/monolog": "1.0.*"
  4. }
  5. }

其中版本约束 详见

名称 实例 描述
确切的版本号 1.0.2 你可以指定包的确切版本。
范围 >=1.0 >=1.0,<2.0>=1.0,<1.1|>=1.2 通过使用比较操作符可以指定有效的版本范围。 
有效的运算符:>>=<<=!=。 
你可以定义多个范围,用逗号隔开,这将被视为一个逻辑AND处理。一个管道符号|将作为逻辑OR处理。 
AND 的优先级高于 OR。
通配符 1.0.* 你可以使用通配符*来指定一种模式。1.0.*>=1.0,<1.1是等效的。
赋值运算符 ~1.2 这对于遵循语义化版本号的项目非常有用。~1.2相当于>=1.2,<2.0。想要了解更多,请阅读下一小节。

  1. composer install

创建并填写好composer.json ,执行 install 命令来进行第一次安装

第一次安装会检查里面列的软件包,依赖等,寻找合适(通过约束)的版本号

之后会生成一个锁文件 composer.lock

锁文件里记录了每一个包确切的版本号

再次执行安装的时候会检查锁文件是否存在,存在就按照锁文件中指定的直接安装

第二部分 : 向项目(已存在composer.json)中添加包

  1. composer require 依赖包/依赖包:版本号

还可以同时添加多个 空格空开 eg:  doctrine/orm:1.0.0

第三部分 : 更新

  1. composer update

这条命令无视锁文件,把 composer.json 里列的依赖更新一遍,重新生成锁文件

第四部分:用依赖包创建项目

  1. composer create-project 依赖包/依赖包 路径路径 版本版本

注意 用包创建项目时,也可以指定版本,但版本约束在第三个参数,第二个参数是项目路径(相对)。未指定版本默认安装最新版本

eg: laravel/laravel path 5.8.0

附录

  1. 切换中国镜像源

    1. composer config -g repo.packagist composer https://packagist.phpcomposer.com
  2. 在生产环境中,安装初始化项目使用  -o 选项。详见官方文档
    --optimize-autoloader (-o) :
    转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。

作者:saopanda 地址 https://www.cnblogs.com/saopanda/p/10819243.html

转载请附原链接,谢谢!

PHP composer 日常使用命令和理解的更多相关文章

  1. 2.goldengate日常维护命令(转载)

    goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...

  2. svn服务配置和日常维护命令

    Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3  AS 4   ContOS AS 4 安装包获取: 下载[url]ht ...

  3. Linux命令行–理解Linux文件权限(转)

    6.1.1 /etc/passwd文件 /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 登录用户名 用户密码 用户账户的UID 用户账户 ...

  4. 程序员必备:Oracle日常维护命令

        上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...

  5. mha日常维护命令

    mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterh ...

  6. Cisco 日常巡检命令

    https://www.cnblogs.com/qzqdy/p/8116903.html 日常排错命令6 交换机的前面板有几个指示灯,用于监控系统的活动和性能.这些指示灯称之为发二极管(LED) 1. ...

  7. Timesten 日常管理命令合集

    Timesten 日常管理命令合集 以下所有操作都是基于TT  11 版,早前版本本人没用过,命令是否适用我不清楚啊! 各类服务管理 一.TT的启停  停服务:  1.停止复制与cache 进程:  ...

  8. MHA 日常维护命令集

    MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --con ...

  9. 数据仓库002 - 复习Linux shell命令 - echo bash_profile bashrc which命令的理解 alias history

    1.echo 打印 . echo 的作用是在屏幕上打印输出内容,与文件和持久化可以理解为没有丝毫关联.如:在屏幕上打印“ echo 的作用是打印文字! ” 实例1:输出系统的环境变量名称 $PATH ...

随机推荐

  1. spring-boot2代码

    App.java package com.kfit; import org.springframework.boot.SpringApplication; import org.springframe ...

  2. MVC+Ext.net零基础学习记录(五)

    继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报 ...

  3. myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面

    解决办法: 1. cmd 敲命令进入安装目录,运行myeclipse.exe -nl en后,启动为英文 在安装目录下新建txt,改名为myeclipse.bat,将上面那行命令写入保存,再发送快捷方 ...

  4. UEditor上传文件的默认地址修改

    using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text.Re ...

  5. Warning: Cannot send session cookie – headers already sent…

    相信大多数人在写PHP代码的时候,都遇到过类似 "Warning: Cannot send session cookie – headers already sent…“或者”Cannot ...

  6. 大数据之路- Hadoop环境搭建(Linux)

    前期部署 1.JDK 2.上传HADOOP安装包 2.1官网:http://hadoop.apache.org/ 2.2下载hadoop-2.6.1的这个tar.gz文件,官网: https://ar ...

  7. BZOJ 1660 [Usaco2006 Nov]Bad Hair Day 乱发节:单调栈

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1660 题意: 有n头牛,身高分别为h[i]. 它们排成一排,面向右边.第i头牛可以看见在它 ...

  8. 关于JDK安装javac失效的几个问题。

    1.按照指南一步一步配置环境变量. 打开cmd,测试. 2.如果还是没有用,注意你的JAVA_HOME配置的是用户变量还是系统变量,改成系统变量. 打开cmd,测试. 3.如果还是没有用,不要你的JA ...

  9. storm源码剖析(1):storm脚本

    今天看了一下storm的命令行脚本${STORM_HOME}/bin/storm,现在将剖析过程整理一下,作为记录.注:使用的storm版本为0.8.0. ${STORM_HOME}/bin/stor ...

  10. codeforces 558B B. Amr and The Large Array(水题)

    题目链接: B. Amr and The Large Array time limit per test 1 second memory limit per test 256 megabytes in ...