必须将repositories写在项目根目录composer.json的根级数组中,类型为"path",url用相对于该文件的相对路径(如"./packages/foo"),且需执行composer update才能生效。

必须写在项目根目录的 composer.json 根级 repositories 数组里,url 用相对于该文件的路径,不能用 ~、$HOME、file:// 或绝对路径。
repositories 字段必须放在根 composer.json 的最外层数组里
Composer 只认项目根目录(即你运行 composer install 那个位置)下的 composer.json 文件里的 repositories。写错位置等于没写:
- 不能塞进
require、config、scripts或任何子对象里 - 不能写在本地包自己的
composer.json中 - 必须是根级字段,和
name、require并列 - 哪怕只配一个 path 源,也要写成数组形式:
[{ "type": "path", "url": "./packages/my-pkg" }]
url 必须是相对路径,且以 composer.json 所在位置为基准
这个“相对”不是随便相对,而是严格相对于项目根目录下的 composer.json 文件本身:
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
- 正确示例:
"../my-local-package"、"packages/utils"、"./src/lib" - 错误示例:
"/home/user/pkg"(绝对路径,CI 失效)、"~user/pkg"(波浪号不解析)、"./packages/my-pkg/"(末尾斜杠会静默跳过) - Windows 下推荐用正斜杠
/,避免单反斜杠\被当转义符 - 路径指向的是**目录**,不是
composer.json文件本身
本地包目录必须满足 name 和 Git 两个硬性条件
Composer 不会自动猜包名或兼容大小写,它只做字面匹配 + Git 分支检查:
- 本地包根目录下必须有合法
composer.json,其中name字段(如"acme/utils")要和主项目require里写的**完全一致**(大小写、斜杠、vendor 名全对) -
version字段在 path 源下无效;你require时必须用分支名,比如"dev-main"或"dev-develop",不能写"1.0.0" - 本地包目录必须已执行过
git init且至少有一次 commit(空 commit 也行),否则composer update会直接跳过
配置完必须跑 composer update,不是 install
path 类型仓库依赖符号链接,而 composer install 只按 composer.lock 安装,不会重建链接:
- 改完
repositories或本地包内容后,必须运行composer update vendor/name或composer update - 如果之前没 require 过,先
composer require vendor/name:dev-main,再update - 链接建好后,修改本地包代码会实时生效,无需重复 install/update(除非改了 autoload 或 scripts)
最容易被忽略的一点:路径写对了、name 对上了、Git 也 commit 了,但没跑 composer update —— 此时 vendor 里什么都不会出现,连报错都没有,纯静默失败。










