新项目首次用composer核心是三件事:装对命令、配好镜像、写对autoload路径;装不上需检查path,国内卡顿须换阿里云镜像,autoload必须用__dir__且置于入口文件最前,install按lock精确还原,update才升级依赖。

新项目第一次用 Composer,核心就三件事:装对命令、配好镜像、写对 autoload 路径。其他都是这三件事的延伸。
composer 命令装不上或报 command not found 怎么办
这不是 Composer 坏了,是它没进系统 PATH。Windows 用户双击 Composer-Setup.exe 安装完基本就位;macOS 用 brew install composer 最稳;Linux 推荐这行命令:
curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer
验证是否真可用,别只看有没有报错,要跑两步:
-
composer --version能输出类似Composer version 2.7.7 -
composer diagnose不卡在Downloading https://packagist.org/packages.json
如果 composer --version 报错但 php composer.phar --version 能过,说明 PATH 没配对,临时补救就用 php composer.phar 替代,但别把 composer.phar 放进项目目录长期用——容易误提交、版本混乱。
国内运行 composer install 卡在 Loading repositories 怎么破
这是 Packagist 官方源被墙的典型表现,不是你网络断了,也不是 Composer 故障。必须换镜像源,且得全局生效(否则 CI 或队友机器照样卡):
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
注意别用网上搜到的过期地址,比如 https://packagist.phpcomposer.com 已停服。换完再试 composer diagnose,看到 Repo packagist.org: OK 才算真正通了。如果项目已有 composer.lock,千万别删掉重来——install 是按 lock 精确还原,update 才会重新解析依赖树。
require_once 'vendor/autoload.php' 总是报 Class not found 或路径错误
根本原因只有两个:路径写错,或 autoload.php 没放第一行。
错误写法包括:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
require './vendor/autoload.php'→ CLI 和 Web 下相对路径行为不一致 -
session_start(); require 'vendor/autoload.php';→ 类还没加载就触发了 session,PHP 直接 fatal error - 漏掉这行,却在
src/里用了Monolog\Logger→ 运行时报错,IDE 却不提醒
正确写法只有一行,且必须放在入口文件(如 index.php)最顶部:
require __DIR__ . '/vendor/autoload.php';
如果项目是老代码、没命名空间,别硬套 PSR-4;改用 "classmap": ["lib/", "includes/"],然后手动跑一次 composer dump-autoload 才生效。
composer install 和 composer update 到底该用哪个
这不是习惯问题,是环境一致性红线。
你刚 clone 一个别人写的项目 → 必须 composer install,它读 composer.lock 装**完全相同的版本**;
你要加一个新包,比如日志组件 → 先 composer require monolog/monolog(它自动 update 并更新 lock);
你想把所有包升到最新小版本(如 2.1.3 → 2.1.9)→ composer update --with-dependencies,别裸跑 update。
最容易被忽略的点是:团队里有人偷偷 update 后提交了新的 composer.lock,其他人 install 出来行为突变,但没人意识到是 lock 文件被悄悄改了——比如 monolog/monolog 从 2.10.0 升到 3.0.0,API 已不兼容,线上直接崩。










