Composer 基础使用
基础命令展开目录
创建项目展开目录
composer create-project [包名] [目录] [版本号]
可以使用 Composer 从现有的包中创建一个新的项目,相当于 git clone 后同时安装这个包的依赖。
注意:这里是使用 Composer 包创建了一个项目,而不是引入了一个 Composer 包。
Laravel ThinkPHP 新建项目就是使用的这个。
此命令的用途如下:
可以快速部署你的应用
可以检出任何资源包,并开发它的补丁
多人开发项目,可以用它来加快应用初始化
参数说明
包名:要安装的项目包是什么,例如
topthink/think
、laravel/laravel
目录:项目文件夹,当文件夹不存在时会自动创建
版本号:如果不指定,则安装最新版本
--prefer-dist
:会从 github 上下载.zip 压缩包,不保留 .git 文件夹,适合基于 package 开发,速度会更快。–prefer-source
:会直接 clone github 上的源代码,保留 .git 文件夹,如果 github 代码更新 可以通过 git pull 同步更新本地代码--no-install
: 禁止安装包依赖--no-scripts
: 禁止在跟资源包中定义脚本执行--no-plugins
禁用 plugins
例子:
# 安装 thinkphp 最新的发行版 到 tp 目录
composer create-project topthink/think tp
# 安装 thinkphp 6.0.* 开发板到 tp 目录
composer create-project topthink/think tp 6.0.*
# 安装 thinkphp 5.1.* 发行版到 tp 目录
composer create-project topthink/think tp 5.1.*# 安装 laravel 最新的发行版 到 blog 目录
composer create-project --prefer-dist laravel/laravel blog
# 安装 laravel 6.x 版本到 到 blog 目录
composer create-project --prefer-dist laravel/laravel blog "6.*"
更新包展开目录
composer update [包名1] [包名2] [包名..]
参数说明
包名:
需要更新的包,多个包名使用空格分隔
也可以使用通配符来更新:
update vendor/*
如果不指定更新的包名则更新所有包
选项
--no-progress
: 不显示进度信息--no-scripts
:跳过composer.json
中的脚本。
注意:update 只是小版本的更新,用 ThinkPHP 举例,5.0.22 可以更新到 5.0.24,不会自动更新到 5.1.x。
如果需要跨版本更新包,则需要在 composer.json
文件中先修改到目标的版本号,然后执行包更新。
# 升级 tp 框架核心部分到最新版
composer update topthink/framework
安装包展开目录
composer install
install
命令从当前目录读取 composer.json
文件,处理了依赖关系,并把其安装到 vendor
目录下。
如果当前目录存在 composer.lock
文件,则会从此文件获取依赖版本,而不是 composer.json
。
如果没有 composer.lock
文件,则会在处理完依赖关系后创建它。
声明依赖展开目录
composer require [包名][:包版本]
新增依赖包到 composer.json
文件中。
参数说明
包名:需要添加的包,可以空格隔开多个包同时安装
包版本:指定安装包的版本,紧跟包名 ":" 分隔。
例子:
# 安装 dcat-admin 2.x 版本到项目
composer require dcat/laravel-admin:"2.*" # 安装 dcat-admin 2.x 和 horizon 到项目
composer require laravel/horizon dcat/laravel-admin:"2.*"
全局执行展开目录
php composer.phar global [命令]
全局执行 composer 命令,需要将 $COMPOSER_HOME/vendor/bin
加入到 $PATH
命令。
参数说明
- 命令:可选的命令 install 、require、update
例子:
# 全局更新包
composer global update# 全局安装包
composer global require fabpot/php-cs-fixer:dev-master
搜索包展开目录
composer search [包名]
参数:
–only-name
表示只输出包名
查看已安装包展开目录
composer show [包名] [包版本]
显示所有可用包,也可以用于查看一个包的详细信息
参数说明
包名:可选,不带包名则查看所有已安装包,带包名则显示包的详细信息
包版本:用于输出包指定版本的详细信息
选项:
--installed (-i)
列出已安装的依赖包--platform (-p)
仅列出平台软件包--self (-s)
仅列出当前项目信息
例子:
composer show thans/tp-jwt-auth
name : thans/tp-jwt-auth
descrip. : thinkphp jwt auth composer
keywords :
versions : * v1.1.3
type : library
license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText
homepage :
source : [git] https://github.com/QThans/jwt-auth.git 9d7919c591e8c288320ccac1e9df8ae3b8a71c38
dist : [zip] https://api.github.com/repos/QThans/jwt-auth/zipball/9d7919c591e8c288320ccac1e9df8ae3b8a71c38 9d7919c591e8c288320ccac1e9df8ae3b8a71c38
path : [项目目录]\vendor\thans\tp-jwt-auth
names : thans/tp-jwt-authsupport
issues : https://github.com/QThans/jwt-auth/issues
source : https://github.com/QThans/jwt-auth/tree/v1.1.3
依赖检测展开目录
composer depends --link-type=require [包名]
用于检测项目中的某个包是否被其他包所依赖,并且列出它们。
选项
--link-type
默认为 require ,也可以是 require-dev
有效性检测展开目录
composer validate
用于检测项目中的 composer.json 是否有效
选项
--no-check-all
Composer 是否进行完整检测
依赖包状态检测展开目录
composer status
如果经常修改依赖包中的代码,并且他们是使用自定义源进行安装的,那么 status 命令允许你进行检查,如果本地有任何的更改,它都将会提示。
参数说明
-v
可以使用--verbose
系列的参数,来获取更加详细的信息
更新 Composer展开目录
composer self-update [版本]
将 Composer 自身升级为最新版本,执行后会将 composre.phar 自动替换到最新版本。
参数说明
版本:可选,如果不传则升级为最新版
--rollback (-r)
回滚到已经安装的最后一个版本-clean-backups
在升级过程中删掉旧的备份。
更改配置展开目录
config [options] [setting-key] [setting-value1] ... [setting-valueN]
Config 命令允许修改 Composer 的一些基础配置,无论是本地的 composer.json
还是全局的 config.json
文件。
参数
setting-key
配置项的名称setting-value1
配置项的值
选项
--global (-g)
表示操作的是全局 Composer 配置文件,如果不指定则修改当前项目的Composer.json
--editor (-e)
用文本编辑器打开composer.json
文件--unset
移除setting-key
指定的配置选项--list (-l)
显示当前配置选项的列表。--file="..." (-f)
在一个指定的文件上操作而不是 composer.json 注意,该选项与`--global
不能一起使用。
修改包来源
composer config repositories.foo vcs http://github.com/foo/bar
全局命令展开目录
--verbose (-v)
: 增加反馈信息的详细度。-v
表示正常输出。-vv
表示更详细的输出。-vvv
则是为了 debug。--help (-h)
: 显示帮助信息。--quiet (-q)
: 禁止输出任何信息。--no-interaction (-n)
: 不要询问任何交互问题。--working-dir (-d)
: 如果指定的话,使用给定的目录作为工作目录。--profile
: 显示时间和内存使用信息。--ansi
: 强制 ANSI 输出。--no-ansi
: 关闭 ANSI 输出。--version (-V)
: 显示当前应用程序的版本信息。
其他问题展开目录
PHP 多版本展开目录
很多时候 会安装多个 php 版本,composer 默认使用的是环境变量中的 php 版本,但这样会导致部分项目需要低版本的 php 支持,但安装的 composer 只支持高版本,这个时候可以使用 指定 php 版本的方案解决:
在项目目录 放置
composer.phar
文件(注意不是 php.exe 目录)在项目目录执行:
[指定版本的php] composer.phar install
方式执行 composer 命令
Composer 基础使用相关推荐
- Composer基础应用1
先唠叨唠叨一些琐碎的事.本人最早从事.Net开发,后来处于好奇慢慢转到了php,因为.net从一早就使用了命名空间(反正从我使用就存在这玩意了),所以在转php时很自然的就使用了命名空间,但是在使用过 ...
- composer 笔记
记笔记 ...记笔记.... 第三次学习 composer,学了好几次了,看文档或者视频.但是由于用的少,很快就忘了. 看来做笔记是不可少的,还有强化练习. composer安装 在自己电脑安装过一次 ...
- 桌面虚拟化最佳实践4—存储规划(下)
上面我们从系统层面以及VIEW的软件层面详细描述了如何进行存储的优化,下面我们从硬件以及协议层面来看看如何规划桌面虚拟化项目中的存储. 存储协议选项 VMware ESX 3.0 及更高版本支持为虚拟 ...
- 002开发、部署一个共享自行车区块链网络
前言 在本系列第 1 部分文章的中,我们一起学习了 Fabric.Composer 基础知识,利用 Hyperledger Compose 搭建了 Fabric 本地开发环境,运行了一个示例区块链网络 ...
- composer搭建php框架,用 Composer构建自己的 PHP 框架之基础准备
『Composer 一统天下的时代已经到来!』 --白岩松 "一个时代结束了,另一个时代开始了." Framework Interoperability Group(框架可互用性小 ...
- php 建立自己的框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
"一个时代结束了,另一个时代开始了." Framework Interoperability Group(框架可互用性小组),简称 FIG,成立于 2009 年.FIG 最初由几位 ...
- 零基础学习MSP430F552LP开发板,学习前期准备,Code Composer Studio(CCS)软件的安装
零基础学习MSP430F552LP开发板 一.前言 零基础学习MSP430F552LP开发板,为电子设计竞赛做准备以及学好这一款芯片. 在选择比赛题目时,发现有的题目时规定使用ti的芯片作为控制MCU ...
- composer搭建php框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
『Composer 一统天下的时代已经到来!』--白岩松 "一个时代结束了,另一个时代开始了." Framework Interoperability Group(框架可互用性小组 ...
- laravel框架的基础学习路线(不带composer的)
首先,博主这里一直用的都是laravel的一键安装包,所以一直没有用composer来操作过laravel.很多事情不用composer也能完成.这里主要是写给公司同事的一个laravel框架入手顺序 ...
最新文章
- 机器人启示录 百度影音_机器人启示录游戏下载-机器人启示录安卓版 v1.2.0_5577安卓网...
- Vue项目启动webpack报错Module build failed: Error: No PostCSS Config found in......
- 生成对抗网络gan原理_必读!TOP10生成对抗网络GAN论文(附链接)
- 社区出入登记1.0.53完整安装包+小程序前端
- java getconstructors,java 反射 constructors的问题,真心需要解决
- Excel to SQL(2)
- 判断一个整数是不是回文
- Nginx的configure各项中文说明
- 最详细的制作正式版10.11 OS X El Capitan 安装U盘的方法
- 《疯狂的程序员64》读后感
- 吉林大学计算机数据中心排名,高校考研学霸人数排行:吉林大学5000排名第13
- 吸引子传播(Affinity Propagation)算法
- 工信部定级备案和等保备案有什么区别
- Python崛金系列--4.python量化股票
- 机器人鸣人是哪一集_博人传鸣人出场集数 博人传佐助哪几集出现过
- 高三计算机教学计划,高三上学期教学教学计划集锦5篇
- 「 C++ MFC 」“读取.txt文档实例”讲解
- echarts画关系图,指定有的关系为双向箭头,有的关系为单向箭头
- 选中一次格式刷,即可多次使用WPS格式刷的办法
- IDEA Material Theme UI 暗黑系主题的安装