1、 从本地初始化项目,并生成 composer.json 文件:
composer init
compser 将会提示一些交互信息,如下:
--name: 包的名称。格式为:组织/项目
--description: 包描述。
--author: 包的作者,格式为:姓 名 <名@邮箱>。
--homepage: 包的主页。
--require: 需要依赖的其它包,必须要有一个版本约束。并遵循 foo/bar:1.0.0 这样的格式。如:
--require-dev: 开发版的依赖包,内容格式与 --require 相同。
--stability (-s): minimum-stability 字段的值。vv
(2) 从远程克隆项目:
composer create-object foo/bar [project] [version]
- 可选参数:
--prefer-dist 如果有压缩包,优先使用压缩包,而非源代码。
--prefer-source 优先使用源码包
--dry-run 模拟而非真实安装
--dev 列出 require-dev 中列出的包
--no-scripts 跳过 composer.json 中定义的脚本
--no-plugins 关闭 plugins
--no-progress 不显示进度信息
--optimize-autoloader (-o) 转换 PSR-0/4 autoloading 到 classmap 获得更快的加载支持。
2、 增加项目依赖:
composer require = org/project:version -n // -n 表示不回答交互问题
- 可选参数:
--prefer-source: 当有可用的包时,从 source 安装。
--prefer-dist: 当有可用的包时,从 dist 安装。
--dev: 安装 require-dev 字段中列出的包。
--no-update: 禁用依赖关系的自动更新。
--no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
--update-with-dependencies 一并更新新装包的依赖。
3、从 composer.json 安装依赖,并生成composer.lock
composer install
4、从 composer.json 的修改更新依赖,并重新生成composer.lock
composer update
composer update foo/bar // 更新指定依赖而非全部 composer update nothing // 更新 composer.lock md5 值而不更新包,处理无关紧要改动造成的 composer.lock md5 不一致,nothing 为不存在包。
composer update --lock // 直接从 composer.json 生成 composer.lock
- 可选参数:
--prefer-source: 当有可用的包时,从 source 安装。
--prefer-dist: 当有可用的包时,从 dist 安装。
--dry-run: 模拟命令,并没有做实际的操作。
--dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
--no-dev: 跳过 require-dev 字段中列出的包。
--no-scripts: 跳过 composer.json 文件中定义的脚本。
--no-plugins: 关闭 plugins。
--no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
--optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
--lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
--with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。
5、 全局使用某包:
composer global require foo/bar:branch
composer global update
6、 搜索依赖包:
composer search [包名] // 可选参数:--only-name 仅搜索完全匹配
7、 显示所有依赖包:
composer show compoer show [foo/bar] [version] // 显示某个包详情
- 可选参数:
--installed (-i): 列出已安装的依赖包。
--platform (-p): 仅列出平台软件包(PHP 与它的扩展)。
--self (-s): 仅列出当前项目信息。
8、 包依赖检测:
composer depends // --link-type=require foo/bar 检测类型:require|require-dev
9、 配置文件有效性检测(是否有错):
composer status // -v 显示 -vv 详情 -vvv Debug
10、更新 composer 自身:
composer self-update // -rollback(-r) 回滚 --clean-bakcups 在更新中删除旧的备份
composer archive [foo/bar] [version] // --format=zip 归档格式:zip|tar --dir 归档到目录