答案是~/.composer目录归属错误,需用sudo chown -r $user:$user ~/.composer修复所有权,禁用chmod 777;若composer_home指向/root/.composer则需删除并避免sudo执行global命令。

composer global require 报 Permission denied,先查 ~/.composer 归属
错误里出现 file_put_contents(/home/alex/.composer/auth.json) 或 Writing cache file ~/.composer/cache/...,说明问题在全局配置目录。别急着改权限位,先确认归属:ls -ld ~/.composer。如果输出第三列不是 alex(即 $(whoami)),而是 root 或 www-data,就是它了——所有权错位,不是 chmod 能解决的。
修复 ~/.composer 所有权必须用 chown,不能用 chmod 777
chmod -R 777 ~/.composer 会让安全扫描器报警、Git 提交混乱、后续插件加载失败。正确做法只有一条:sudo chown -R $USER:$USER ~/.composer。执行后顺手加固可写性:chmod -R u+rw ~/.composer,避免系统 umask 导致子目录默认无写权限。特别注意:~/.composer/auth.json 和 ~/.composer/cache/plugins/ 这两个路径常被 sudo 写入过,单独检查更稳妥。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
COMPOSER_HOME 指向 /root/.composer 怎么办
运行 composer config --global home,如果输出是 /root/.composer,说明环境已被污染。这不是配置错了,是之前误用了 sudo composer global require。临时验证可用:COMPOSER_HOME=$HOME/.composer composer global require laravel/installer。长期解法:删掉 /root/.composer(若存在),再确保所有 global 命令都不带 sudo。Windows 用户同理:检查 %APPDATA%\Composer,曾以管理员身份运行过就直接删重装。
全局命令装完找不到,PATH 和 bin-dir 都得对上
composer global require laravel/installer 成功但输 laravel 提示 command not found?先看 composer config -g bin-dir 输出的是不是 ~/.composer/vendor/bin。如果不是,或该路径不在 $PATH 里,命令就不可见。推荐方案:mkdir -p ~/bin && composer config -g bin-dir ~/bin && echo 'export PATH="$HOME/bin:$PATH"' >> ~/.zshrc && source ~/.zshrc。这样既避开 ~/.composer 权限纠缠,又保证二进制文件始终可执行。
sudo composer global require 可能让 ~/.composer/vendor/bin/ 下混进 root 所有软链,ls -la ~/.composer/vendor/bin/ 就能发现 broken link。这种情况下,chown -R 都救不回来,只能删掉 ~/.composer/vendor 重装。










