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-auth

support
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 命令

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值