repositories必须位于composer.json根级,与require并列;本地path仓库不生效主因是字段嵌套错误、路径非相对、包名大小写不匹配或未删composer.lock重装。

repositories 必须在 composer.json 顶层
本地 path 仓库不生效,90% 是因为 repositories 字段被错放到 config、require 或其他嵌套位置。Composer 只认根级字段。
-
repositories必须和require、autoload并列,处于composer.json最外层 - Windows 下若写成绝对路径(如
"url": "C:/dev/mylib")会静默失败,必须用相对路径(如"url": "../mylib") - 路径不能以
/开头,否则 Linux/macOS 可能误判为绝对路径,跨平台一致性受损
包名与本地 composer.json 的 name 必须完全一致
Composer 不做大小写归一或别名映射——"myvendor/mylib" 和 "MyVendor/MyLib" 被视为两个不同包。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 检查本地库
../mylib/composer.json中的"name"字段,逐字符比对(含大小写、连字符、下划线) - 如果本地库未设
"minimum-stability": "dev",而主项目要求"dev-main",Composer 可能跳过该 path 源,直接去 Packagist 找稳定版 - 本地库建议加
"prefer-stable": false,避免因稳定性策略“看不见”开发分支
已有 composer.lock 时 install 不读新 repositories
这是最隐蔽也最常踩的坑:只要 composer.lock 存在,composer install 就只按锁文件还原,完全忽略 repositories 配置变更。
- 必须删掉
composer.lock和整个vendor/目录(残留目录会导致 autoload 仍指向旧位置) - 执行
composer install(不是update),它才会重新解析composer.json并生成新锁文件 - 若只想重装单个包,先确认
repositories已生效,再运行composer remove myvendor/mylib && composer require myvendor/mylib
改了本地代码但主项目没反应?查软链接是否还在
Composer 对 type: "path" 的实现是创建符号链接(Linux/macOS)或目录交接(Windows)。这个链接不会随本地代码修改自动更新,但一旦失效就彻底退化为普通目录。
- 运行
ls -la vendor/myvendor/mylib(Linux/macOS):若输出显示-> ../mylib,说明链接正常;若只是普通文件夹,说明上次 install 没走 path 流程 - Windows 用户可用
dir vendor\myvendor\mylib查看是否带<symlinkd></symlinkd>标识 - 链接失效常见于:手动删过
vendor/但没清composer.lock、中途执行过composer update、或 Windows 权限限制导致链接创建失败
vendor 却忘了 composer.lock,或者以为改完代码 reload 就行,结果链接早就断了。










