composer项目(包)安装

简介: composer项目(包)安装

新建项目目录文件


新建一个PHP项目目录,在目录里面新建composer.json文件并写入以下内容:

{
    "require": {
        "monolog/monolog": "1.0.*"
    }
}

require 是一个包名称(monolog/monolog)映射到包版本(1.0.*)的对象。


包名称包含了供应商和项目名称(供应商名称/项目名称),不同的供应商可以创建相同名称的库(如:lauwen/composer和douz/composer)。


包版本可以进行版本约束,具体约束指定如下(版本号默认只考虑稳定的发行版本,可配置):

名称

实例

描述

确切的版本号

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.2.3相当于>=1.2.3,<1.3。

安装依赖包


运行composer install进行require里面定义的相关依赖包的安装:

image.png

可以看到composer在composer.json目录下创建了vendor目录和composer.lock文件,并将monolog/monolog下载到了vendor目录下。

composer.lock文件主要是记录安装时包的确切版本号,用于锁定当前项目引用依赖的特定版本。

autoload.php主要是自动加载已经安装的依赖,在项目中引入这个文件就可以使用已安装的依赖。

使用国内镜像


如果需要使用国内镜像进行包的安装,可以进行以下配置(具体的介绍请看官网:Packagist / Composer 中国全量镜像):

在composer.json中配置镜像源信息,便可使用国内镜像进行安装了:

image.png


目录
相关文章
Layui 内置方法 - layer.confirm(询问框)
Layui 内置方法 - layer.confirm(询问框)
1881 0
|
9月前
|
人工智能 数据库 决策智能
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
Archon 是一个开源的 AI 智能体框架,能够自主生成代码并优化智能体性能,支持多智能体协作、领域知识集成和文档爬取等功能,适用于企业、教育、智能家居等多个领域。
825 10
Archon – 开源 AI 智能体框架,自主生成代码构建 AI 智能体
|
算法 5G 调度
毫米波传播特性及其对5G的影响:机遇与挑战
毫米波传播特性及其对5G的影响:机遇与挑战
399 0
|
存储 运维 监控
怎样配置Linux分析工具:kdump篇
在运维的世界里,服务器的稳定运行是生命的灯塔,一旦遭遇异常重启,便是暴风雨来临的预兆。作为一名运维工程师,深知在这场与故障斗争的战役中,武器的锋利至关重要。今天,我要介绍的主角/工具——kdump,正是这样一款能在风雨来临之际,为我们捕获那一闪而过的真相的工具。
怎样配置Linux分析工具:kdump篇
|
12月前
|
数据库 索引
索引命名规范
本文介绍了数据库中不同类型的索引命名规则:主键索引命名为pk_字段名,唯一索引命名为uk_字段名,普通索引命名为idx_字段名。pk表示主键,uk表示唯一键,idx表示索引。
863 7
|
存储 编解码 算法
发到朋友圈的图片为什么会变糊?iPhone的live实况图是什么格式的图片?
本文介绍了iPhone Live实况图的格式(.livp)、社交平台图片变糊的原因、图像编码压缩的基本过程(变换、量化、熵编码),以及HEIF格式及其与HEVC的关系。HEIF格式具有体积小、颜色丰富、内容灵活等优势,适用于高效图像存储与传输。
|
关系型数据库 MySQL 数据库连接
成功解决「MySQL问题1」启动mysql时:发生系统错误5拒绝访问
这篇文章介绍了如何解决启动MySQL服务时遇到的系统错误5(拒绝访问),通过管理员权限启动命令窗口并使用"net start mysql"和"net stop mysql"命令来控制服务。
|
存储 关系型数据库 MySQL
面试官:MySQL一次到底插入多少条数据合适啊?
本文探讨了数据库插入操作的基础知识、批量插入的优势与挑战,以及如何确定合适的插入数据量。通过面试对话的形式,详细解析了单条插入与批量插入的区别,磁盘I/O、内存使用、事务大小和锁策略等关键因素。最后,结合MyBatis框架,提供了实际应用中的批量插入策略和优化建议。希望读者不仅能掌握技术细节,还能理解背后的原理,从而更好地优化数据库性能。
|
缓存 中间件 PHP
Laravel 框架:优雅 PHP Web 开发的典范
【8月更文挑战第31天】
499 0
|
关系型数据库 MySQL
navicat报错1045 - Access denied foruser ‘root‘@‘localhost‘(using password:YES)解决方法
navicat报错1045 - Access denied foruser ‘root‘@‘localhost‘(using password:YES)解决方法
886 0