PHP composer 日常使用命令和理解
composer的操作很多很杂,平时大都用不上,正要找又一时半会难找到
日常操作,走起
第一部分 : 安装 composer.json
- composer init
这个命令创建了一个 composer.json 文件,也可以手动创建编辑,申明依赖及版本。
composer.json 内容格式详见
- {
- "require": {
- "monolog/monolog": "1.0.*"
- }
- }
其中版本约束 详见
名称 | 实例 | 描述 |
---|---|---|
确切的版本号 | 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 。想要了解更多,请阅读下一小节。
|
- composer install
创建并填写好composer.json ,执行 install 命令来进行第一次安装
第一次安装会检查里面列的软件包,依赖等,寻找合适(通过约束)的版本号
之后会生成一个锁文件 composer.lock
锁文件里记录了每一个包确切的版本号
再次执行安装的时候会检查锁文件是否存在,存在就按照锁文件中指定的直接安装
第二部分 : 向项目(已存在composer.json)中添加包
- composer require 依赖包/依赖包:版本号
还可以同时添加多个 空格空开 eg: doctrine/orm:1.0.0
第三部分 : 更新
- composer update
这条命令无视锁文件,把 composer.json 里列的依赖更新一遍,重新生成锁文件
第四部分:用依赖包创建项目
- composer create-project 依赖包/依赖包 路径路径 版本版本
注意 用包创建项目时,也可以指定版本,但版本约束在第三个参数,第二个参数是项目路径(相对)。未指定版本默认安装最新版本
eg: laravel/laravel path 5.8.0
附录
- 切换中国镜像源
- composer config -g repo.packagist composer https://packagist.phpcomposer.com
- 在生产环境中,安装初始化项目使用 -o 选项。详见官方文档
--optimize-autoloader (-o) :
转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
作者:saopanda 地址 https://www.cnblogs.com/saopanda/p/10819243.html
转载请附原链接,谢谢!
PHP composer 日常使用命令和理解的更多相关文章
- 2.goldengate日常维护命令(转载)
goldengate日常维护命令 发表于 2013 年 7 月 4 日 由 Asysdba 1.查看进程状态 GGSCI (PONY) 2> info all 2.查看进程详细状态,有助于排错 ...
- svn服务配置和日常维护命令
Subversion独立服务和与apache整合服务. 一 .Svn独立服务安装 操作系统: Redhat Linux AS3 AS 4 ContOS AS 4 安装包获取: 下载[url]ht ...
- Linux命令行–理解Linux文件权限(转)
6.1.1 /etc/passwd文件 /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 登录用户名 用户密码 用户账户的UID 用户账户 ...
- 程序员必备:Oracle日常维护命令
上一篇讲了Linux的日常维护命令,这篇讲讲Oracle的日常维护命令.工作中需要使用Oracle数据库的童鞋们,相信或多或少都需要对Oracle做一些基本的维护操作,例如导入导出总该有吧?( ...
- mha日常维护命令
mha日常维护命令 http://m.blog.chinaunix.net/uid-28437434-id-3959021.html?/13033.shtml 1.查看ssh登陆是否成功masterh ...
- Cisco 日常巡检命令
https://www.cnblogs.com/qzqdy/p/8116903.html 日常排错命令6 交换机的前面板有几个指示灯,用于监控系统的活动和性能.这些指示灯称之为发二极管(LED) 1. ...
- Timesten 日常管理命令合集
Timesten 日常管理命令合集 以下所有操作都是基于TT 11 版,早前版本本人没用过,命令是否适用我不清楚啊! 各类服务管理 一.TT的启停 停服务: 1.停止复制与cache 进程: ...
- MHA 日常维护命令集
MHA 日常维护命令集 1.查看ssh登陆是否成功 masterha_check_ssh --global_conf=/etc/masterha/masterha_default.conf --con ...
- 数据仓库002 - 复习Linux shell命令 - echo bash_profile bashrc which命令的理解 alias history
1.echo 打印 . echo 的作用是在屏幕上打印输出内容,与文件和持久化可以理解为没有丝毫关联.如:在屏幕上打印“ echo 的作用是打印文字! ” 实例1:输出系统的环境变量名称 $PATH ...
随机推荐
- spring-boot2代码
App.java package com.kfit; import org.springframework.boot.SpringApplication; import org.springframe ...
- MVC+Ext.net零基础学习记录(五)
继MVC+Ext.net零基础学习记录(四),在后面我在既有的项目上又添加了一个子项目,还用前面提到的方法,进行主项目中引用DLL,然后子项目中生成事件中使用mkdir 进行拷贝 发现一个下午就总是报 ...
- myeclipse 安装flex插件后变为中文 修改配置文件切换到英文界面
解决办法: 1. cmd 敲命令进入安装目录,运行myeclipse.exe -nl en后,启动为英文 在安装目录下新建txt,改名为myeclipse.bat,将上面那行命令写入保存,再发送快捷方 ...
- UEditor上传文件的默认地址修改
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text.Re ...
- Warning: Cannot send session cookie – headers already sent…
相信大多数人在写PHP代码的时候,都遇到过类似 "Warning: Cannot send session cookie – headers already sent…“或者”Cannot ...
- 大数据之路- Hadoop环境搭建(Linux)
前期部署 1.JDK 2.上传HADOOP安装包 2.1官网:http://hadoop.apache.org/ 2.2下载hadoop-2.6.1的这个tar.gz文件,官网: https://ar ...
- BZOJ 1660 [Usaco2006 Nov]Bad Hair Day 乱发节:单调栈
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1660 题意: 有n头牛,身高分别为h[i]. 它们排成一排,面向右边.第i头牛可以看见在它 ...
- 关于JDK安装javac失效的几个问题。
1.按照指南一步一步配置环境变量. 打开cmd,测试. 2.如果还是没有用,注意你的JAVA_HOME配置的是用户变量还是系统变量,改成系统变量. 打开cmd,测试. 3.如果还是没有用,不要你的JA ...
- storm源码剖析(1):storm脚本
今天看了一下storm的命令行脚本${STORM_HOME}/bin/storm,现在将剖析过程整理一下,作为记录.注:使用的storm版本为0.8.0. ${STORM_HOME}/bin/stor ...
- 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 ...