composer

作者: 游鱼思


官方镜像被封的死死的,一定得切换镜像源:

composer的基本使用和常见报错解决-阿里云开发者社区

# 全局切换国内镜像
# 阿里云
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
# 中国全量镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com
# 取消全局配置
composer config -g --unset repos.packagist
# 当前工程切换配置
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
# 取消当前工程配置
composer config --unset repos.packagist
# 清除缓存
composer clear

# 安装依赖包
composer install
# 安装依赖
composer require monolog/monolog
# 更新所有依赖
composer update
# 移除一个包及其依赖
composer remove monolog/monolog
# 列出所有已经安装的包
composer show

疑难杂症

composer 无法安装Drupal

Could not find package drupal/recommended-project with stability stable.

$ composer show drupal/recommended-project --all

No composer.json found in the current directory, showing available packages from packagist.org In ShowCommand.php line 324: Package "drupal/recommended-project" not found.

解决办法:composer config -g --unset repos.packagist

无法检测root包版本

Composer could not detect the root package (drupal/recommended-project) version, defaulting to '1.0.0'. See https://getcomposer.org/root-version

不会影响包的安装等操作,除非将来要基于composer发行。

参考: Root cause of 'could not detect the root package'? | Drupal.org

其它

清除缓存:

composer clear

还有:将项目下 composer.json 的  https://asset-packagist.org 改为 https://asset-packagist.cn

另外, packages.drupal.org 还被DNS污染了,国内解析的大都不正确

在host里面改为 199.232.46.217

Composer 报错: PHP Fatal error:  Uncaught Error: Call to undefined function Composer\XdebugHandler\putenv()

原因:宝塔面板安装了多个php版本 网站设置的php仅为网站的php对应脚本 服务器运行的php版本并未删除对应的 putenv函数 出现问题

解决办法:将宝塔面板-网站php命令行版本切换到与网站运行的php版本一致,或者删除对应的php命令行版本的禁用函数

U11-229 5 , 225 一 — -2023 二 2 & 1