COMPOSER_DISCARD_CHANGES 是控制 composer install 时如何处理本地修改的环境变量,可选值为 stash(默认)、1/true、2 或 0/false,用于自动丢弃或保留 composer.json 和 lock 文件更改,常用于 CI/CD 和部署流程中确保依赖一致性。

要配置 Composer 的 COMPOSER_DISCARD_CHANGES 环境变量,目的是控制当执行 composer install 时,如果 composer.json 或 composer.lock 文件在本地有更改,是否自动丢弃这些更改并同步到锁文件中的内容。这个行为在 CI/CD 环境或部署流程中非常有用。
该环境变量告诉 Composer 在运行 install 命令时如何处理本地对 composer.json 和 composer.lock 的修改。可选值包括:
可以在不同层级设置这个变量,根据使用场景选择合适方式:
1. 临时命令行设置(推荐用于测试)在运行命令前临时指定:
COMPOSER_DISCARD_CHANGES=true composer install
在 Linux/macOS 中,将变量写入 shell 配置文件:
echo 'export COMPOSER_DISCARD_CHANGES=true' >> ~/.bashrc
或者使用 zsh:
echo 'export COMPOSER_DISCARD_CHANGES=true' >> ~/.zshrc
之后重新加载配置:source ~/.bashrc
php配置文件php.ini的中文注释版是一本由多位作者编著的有关PHP内部实现的开源书籍。从环境准备到代码实现,从实现过程到细节延展,从变量、函数、对象到内存、Zend虚拟机…… 如此种种,道尽PHP之风流。
376
例如 GitHub Actions 中:
env: COMPOSER_DISCARD_CHANGES: true
GitLab CI 中:
variables: COMPOSER_DISCARD_CHANGES: "1"
注意:COMPOSER_DISCARD_CHANGES 是环境变量,不能通过 composer config 设置,必须通过系统环境传入。
常见于自动化部署或容器构建中,避免因开发机残留更改导致安装失败:
基本上就这些。正确设置后,Composer 会按预期自动处理文件变更,让流程更稳定。
以上就是Composer如何配置COMPOSER_DISCARD_CHANGES环境变量的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号