这些Composer命令,你肯定用到着!

selfupdate

更新 composer 本身,请经常执行 composer selfupdate 以保持 Composer 一直是最新版本。

composer selfupdate

等价于

composer self-update

dumpautoload

当我们更改了 composer.json 文件中的 autoload 时,需要执行 composer dumpautoload,来让 autoload 立即生效。而不必执行 install 或 update 命令。

composer dumpautoload

等价于

composer dump-autoload

dumpautoload 命令有两个常用的选项:

  • --optimize (-o): 转换 PSR-0/4 autoloading 到 classmap ,以获得更快的载入速度。这特别适用于生产环境,但可能需要一些时间来运行,因此它目前不是默认设置。
  • --no-dev: 禁用 autoload-dev 规则。

install

composer install

依据当前目录下的 composer.lock(锁文件) 或 composer.json 文件,所定义的依赖关系,安装依赖包。

install 命令会先检查 composer.lock 锁文件是否存在,如果存在,它将下载 composer.lock 文件中指定的版本,而忽略 composer.json 文件中的定义。

# 查看 composer install 的帮助信息
composer install -h

# 只安装 require
中定义的依赖,而不安装 require-dev 中定义的依赖
composer install --no-dev

update

如果你想更新你的依赖版本,或者你修改了 composer.json 中的依赖关系,想让 composer 按照 composer.json 文件中的定义执行更新操作,就用 update 命令。

composer update

require

require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。

如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。

composer require

你也可以直接在命令中指明需要安装的依赖包。

composer require barryvdh/laravel-ide-helper

安装指定版本的依赖包。

composer require barryvdh/laravel-ide-helper:1.0

--dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。

composer require --dev barryvdh/laravel-ide-helper

create-project

你可以使用 create-project 从现有的包中创建一个新的项目。

它相当于执行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。

此命令有几个常见的用途:

  • 你可以快速的部署你的应用。
  • 你可以检出任何资源包,并开发它的补丁。
  • 多人开发项目,可以用它来加快应用的初始化。
# 安装 Laravel 项目
composer create-project --prefer-dist laravel/laravel blog 5.5.*

如果没有指定版本号,就默认安装最新的版本。

--prefer-dist: 当有可用的包时,从 dist 安装。

search

search 命令可以搜索远程的依赖包,通常它只搜索 http://packagist.org 上的包,你可以简单的输入你的搜索条件。

composer search monolog

--only-name (-N)选项, 仅针对指定的名称搜索(完全匹配)。

show

列出已安装的依赖包,你可以使用 show 命令。

composer show

列出镜像站点上所有的依赖包。

composer show --all

如果你想查看某个指定的依赖包的详细信息,你可以输入包名称。

composer show monolog/monolog

config

config 命令允许你编辑 Composer 的一些基本设置,无论是本地的 composer.json 还是全局的 config.json 文件。

查看 Composer 的全局配置信息:

composer config -g --list

语法:config [options] [setting-key] [setting-value1] ... [setting-valueN]

setting-key 是配置选项的名称,setting-value1 是配置的值。可以使用数组作为配置的值(像 github-protocols),多个 setting-value 是允许的。

例如,全局配置 Composer 的国内镜像:

# 推荐使用阿里云 Composer 全量镜像
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

选项:

  • --global (-g): 操作 $COMPOSER_HOME/config.json 全局配置文件。如果不指定该参数,此命令将影响当前项目的 composer.json 文件,或 --file 参数所指向的文件。
  • --editor (-e): 使用文本编辑器打开 composer.json 文件。默认情况下始终是打开当前项目的文件。当存在 --global 参数时,将会打开全局的 config.json 文件。
  • --unset; 移除由 setting-key 指定的配置选项。
  • --list (-l): 查看当前配置选项的列表。当存在 --global 参数时,将会显示全局配置选项的列表。
  • --file="..." (-f):在一个指定的文件上操作,而不是 composer.json。它不能与 --global 参数一起使用。

run-script

run-script 命令,可用来手动执行脚本,只需要指定脚本的名称即可。

假如,composer.json 中存在如下脚本。

{
"scripts": {
"post-update-cmd": "MyVendor\\MyClass::postUpdate",
"post-package-install": [
"MyVendor\\MyClass::postPackageInstall"
],
"post-install-cmd": [
"MyVendor\\MyClass::warmCache",
"phpunit -c app/"
]
}
}

运行所有 post-install-cmd 事件下定义的脚本:

composer run-script post-install-cmd

更多PHP内容请访问:

八重樱:腾讯T3-T4标准精品PHP架构师教程目录大全,只要你看完保证薪资上升一个台阶(持续更新)​zhuanlan.zhihu.com

图标

以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的可以加入PHP学习高级交流点击此处。

你可能感兴趣的:(这些Composer命令,你肯定用到着!)