Loading

php 如果composer命令在脚本中执行提示Continue as root/super user [yes]?如何解决?

 Continue as root/super user [yes]?

Composer 检测到当前用 root 身份运行,出于安全提示需要手动确认。

要让脚本全自动通过,有三种办法:

1. 环境变量(最干净,推荐)

在调用 Composer 之前导出:

export COMPOSER_ALLOW_SUPERUSER=1

一行即可,后续所有 Composer 命令都不再询问。

示例:

#!/usr/bin/env bash
export COMPOSER_ALLOW_SUPERUSER=1

echo "=== 清理缓存 ==="
composer clear-cache --no-interaction

echo "=== 重载自动加载 ==="
composer dump-autoload -o --no-interaction

2. 命令前加变量(无需改脚本)

COMPOSER_ALLOW_SUPERUSER=1 composer dump-autoload -o --no-interaction

3. 利用 yes(通用但多余)

yes | composer dump-autoload -o

可行,但不如方法 1/2 直观,还会把 y 写进 stdin。


小结

把 export COMPOSER_ALLOW_SUPERUSER=1 写进 reload.sh 顶部,以后无论清理缓存还是 dump-autoload 都不会再停下来要 ye

posted @ 2025-09-29 13:13  Carvers  阅读(42)  评论(0)    收藏  举报