修改镜像源
- 查看全局源
composer config -g -l
(没有 -g
查看当前)
- 阿里源
https://mirrors.aliyun.com/composer/
- 配置只在当前项目生效
# 当前项目,使用阿里的源
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消当前项目配置
composer config --unset repos.packagist
- 配置全局生效
# 全局
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消全局配置
composer config -g --unset repos.packagist
- 可使用
crm
管理镜像源
composer 安装
# `php -r` 运行 php脚本
# `copy()` 拷贝`安装文件`,并保存重命名为`composer-setup.php`
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# `hash_file()` 哈希验证
php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# 运行 php文件
php composer-setup.php
# `unlink()` 删除文件
php -r "unlink('composer-setup.php');"
全局安装
# 在上面已安装完成后
# 配置为全局可用
sudo mv composer.phar /usr/local/bin/composer
其它命令
- 更新
# 更新所有依赖
composer update
# 更新指定的包
composer update monolog/monolog
# 更新指定的多个包
composer update monolog/monolog symfony/dependency-injection
# 还可以通过通配符匹配包
composer update monolog/monolog symfony/*
- 移除(remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除:)
composer remove monolog/monolog
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 0 installs, 0 updates, 2 removals
- Removing psr/log (1.0.2)
- Removing monolog/monolog (1.23.0)
Generating autoload files
- 列出项目使用的包信息
# 列出所有已经安装的包
composer show
# 可以通过通配符进行筛选
composer show monolog/*
# 显示具体某个包的信息
composer show monolog/monolog
- 升级
# 升级
composer self-update