“Package is not installed”主因是composer.lock、vendor目录与PHP环境未对齐;应先运行composer check-platform-reqs查缺失扩展,再删vendor和composer.lock、清缓存、执行composer install --no-scripts --no-plugins重建依赖。

“Package is not installed”不是包真丢了,而是composer.lock、vendor目录和当前环境三者没对齐——清缓存+删lock+重装,90%能秒解。
为什么composer install说包“没安装”却明明在composer.json里?
Composer 不是看 composer.json 就装包,而是优先按 composer.lock 里锁定的版本去 vendor 目录找。如果 lock 文件过期、vendor 被手动删过半截、或 PHP 环境缺扩展导致某包静默跳过,就会报“Package is not installed”,但错误不告诉你哪一步断了。
- 常见诱因:从 Git 克隆项目后漏掉
composer.lock,或自己删过vendor/却没删 lock - 更隐蔽的情况:PHP 缺
ext-dom或ext-zip,Composer 解析到需要该扩展的包时直接跳过,不报错也不装,最后提示“没安装” - 别信
composer show的输出——它只查已装进 vendor 的包,没装的它根本看不见
验证是否真缺包:先跑composer check-platform-reqs
这个命令会逐条检查当前 PHP 版本、扩展、INI 配置是否满足所有依赖的硬性要求。很多“包没安装”其实是平台不达标被跳过的假象。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 运行
composer check-platform-reqs,重点看标MISSING的行,比如ext-dom、ext-mbstring、php >=8.0 - Linux/macOS 装扩展:如缺
dom,执行sudo apt-get install php8.1-dom(把 8.1 换成你实际的 PHP CLI 版本) - Windows 用户务必用
php --ini确认 CLI 加载的是哪个php.ini,然后在对应文件里取消注释extension=dom行
强制重建依赖链:删vendor和composer.lock再重来
只要不是生产环境线上部署,这步比调半天配置更快。记住顺序不能错:先删 lock,再删 vendor,最后清缓存。
- 删干净:
rm -rf vendor/ composer.lock(Windows 用rmdir /s vendor && del composer.lock) - 清缓存:
composer clear-cache(跳过这步,旧缓存可能让错误复现) - 重装:
composer install --no-scripts --no-plugins(加这两个参数可绕过 autoload 生成失败导致的卡死) - 装完立刻验证:
php -r "require 'vendor/autoload.php'; echo 'ok';"—— 输出 ok 才算 autoload 真通了
装完仍报 Class not found?检查public/index.php入口路径
尤其 ThinkPHP、Laravel 类框架,“包装好了但访问 404 或 Class not found”,八成是入口文件没正确引入 autoload。
- 打开
public/index.php,第一行必须是:require __DIR__ . '/../vendor/autoload.php'; - 少一个点(
../写成./)、多一个斜杠(/../写成/../../),都会导致路径错、autoload 加载失败 - 别把
index.php剪切到根目录下再访问——TP6/TP8 要求 Web 根目录必须是public/,否则__DIR__指向错误
真正卡住的地方往往不在报错那行,而在 PHP 扩展缺失时 Composer 的静默跳过,或 composer.lock 和当前 PHP 版本不兼容。每次重装前,先 composer check-platform-reqs 看一眼,比盲目删删删更省时间。

















