composer
镜像源:-g 全局配置\去除-g 为当前项目配置 :composer config <-g> repo.packagist composer <domain> ; 取消配置 composer config <-g> --unset repos.packagist
- https://packagist.phpcomposer.com
- https://packagist.laravel-china.org
- https://mirrors.aliyun.com/composer/
- https://packagist.org
- 使用 Prestissimo 提高 composer 下载速度
- wget https://getcomposer.org/composer.phar && mv composer.phar /usr/local/bin/composer
常用:
- 命令行
- 查看当前镜像地址 -
1 $ composer config -g repo.packagist 2 {"type":"composer","url":"https://packagist.org","allow_ssl_downgrade":true}
- 常用命令:
$ composer init (初始化) 初始化-参数 --name: 包的名称。 --description: 包的描述。 --author: 包的作者。 --homepage: 包的主页。 --require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。 --require-dev: 开发版的依赖包,内容格式与 --require 相同。 --stability (-s):minimum-stability 字段的值。 --------------------------------------------------------------- ==================== $ composer search monolog (搜索) 搜索-参数 --only-name (-N): 仅针对指定的名称搜索(完全匹配)。 --------------------------------------------------------------- ==================== $ composer install (安装) 安装-参数 --prefer-source: 下载包的方式有两种: source 和 dist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源 。如果 --prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。 --prefer-dist: 与 --prefer-source 相反,composer 将尽可能的从 dist 获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置。 --dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --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 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。 --------------------------------------------------------------- ==================== $ composer update (更新) 更新-参数 --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 同时更新白名单内包的依赖关系,这将进行递归更新。 --------------------------------------------------------------- ==================== $ composer require symfony/http-foundation(加载依赖) 申明依赖-参数 --prefer-source: 当有可用的包时,从 source 安装。 --prefer-dist: 当有可用的包时,从 dist 安装。 --dev: 安装 require-dev 字段中列出的包。 --no-update: 禁用依赖关系的自动更新。 --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。 --update-with-dependencies 一并更新新装包的依赖。 --------------------------------------------------------------- ====================
- 只更新自动加载而不去更新依赖 : composer dump-autoload
- composer.json > autoload 中 , psr-4 : key 是指向命名空间,value 是在对应目录查找;
"autoload": { "psr-4": { "app\\": "application", "SsoSdk\\": "extend/ssosdk/src/" } },
- composer 更新 composer self-update <版本号 1.10.7 > --clean-backups
- 清除缓存 composer clearcache
- -
- 其他