Composer怎么在Ubuntu上配置全域变量_Linux安装Composer详细过程【介绍】

1次阅读

composer 应全局安装并加入 PATH,而非设环境变量ubuntu 用 ~/.bashrc(zsh 用 ~/.zshrc),避免 apt 安装旧版;禁用 sudo 运行以免权限污染。

Composer怎么在Ubuntu上配置全域变量_Linux安装Composer详细过程【介绍】

Composer 在 Ubuntu 上不需要也不建议配置“全域变量”,正确做法是全局安装并确保系统能直接调用 composer 命令——本质是把可执行文件路径加入 $PATH,不是设置环境变量

为什么不能用 export PATH=… 临时加 /usr/local/bin?

临时修改 $PATH(比如在当前终端里运行 export PATH="/usr/local/bin:$PATH")只对当前 shell 有效,关掉终端就失效。很多用户卡在这一步,以为“配置失败”,其实是没写入 shell 配置文件。

  • Ubuntu 默认 shell 是 bash,应写入 ~/.bashrc(非 ~/.profile/etc/environment,后者不适用于交互式登录)
  • 如果用了 zsh(如 Ubuntu 22.04+ 某些桌面环境),要改 ~/.zshrc
  • 改完必须执行 source ~/.bashrc 或新开终端才生效

全局安装 Composer 的标准流程(推荐 curl + sudo)

官方推荐方式是下载 composer.phar 并移动到系统级可执行路径,避免权限混乱和更新困难:

curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer sudo chmod +x /usr/local/bin/composer

这三步做完后,验证是否成功只需运行:

composer --version

如果报错 command not found,说明 /usr/local/bin 不在 $PATH 中——此时才需要检查并修正 shell 配置文件。

常见错误:用 apt install phpcomposer 安装旧版或损坏版本

Ubuntu 官方源里的 php-composer 包长期滞后(例如 2023 年仍为 Composer 1.x),且可能因 PHP 扩展依赖缺失导致 composer diagnose 报错:

  • The openssl extension is missing, which means that secure HTTPS transfers are impossible.
  • The json extension is missing.

解决方法不是硬装扩展,而是绕过 apt,用上面的 curl 方式安装——它会自动检测本地 PHP 环境并给出明确提示,比包管理器更可靠。

权限问题:为什么不能用 sudo composer create-project?

全局安装后的 composer 命令本身无需 root 权限运行;但若在项目目录下用 sudo composer create-project,会导致生成的 vendor/ 文件属主变成 root,后续 gitphp artisan 等操作频繁报 permission denied。

  • 永远用普通用户身份运行 composer 命令
  • 确保项目目录可写:chmod -R u+rwX my-project/
  • 如果之前误用了 sudo,先修复权限:sudo chown -R $USER:$USER my-project/

真正容易被忽略的是:Composer 全局行为(如插件、缓存)默认存在 ~/.composer/,这个目录权限一旦被 sudo 污染,后续所有命令都会静默失败——得手动 chown 回来。

text=ZqhQzanResources