根本原因是repositories未被读取:未置于根composer.json最外层、windows下绝对路径静默失效、或path目录缺失合法composer.json(含name/version字段)。

离线环境里 composer install 报 Could not find a matching version of package
根本不是包没放对,是 repositories 根本没被读到。常见原因有三个:
— repositories 没写在项目根目录 composer.json 的最外层对象里,而是塞进了 config 或 require 里;
— url 写了绝对路径(比如 C:\packages\foo),Windows 下静默失效;
— url 指向的目录里没有 composer.json,或者该文件语法错误、缺 name 或 version 字段。
path 类型仓库必须满足的硬性条件
composer.json 在本地包目录中不是可选的,而是强制校验项。以下任一缺失都会导致 require 失败且不报具体原因:
— name 字段必须存在,且与你在主项目中 require 的完全一致(vendor/name,大小写敏感);
— version 字段必须存在,可填 "dev-main" 或 "1.0.x-dev",不能留空;
— 若需自动加载类,autoload 必须是合法结构,例如 {"psr-4": {"Vendor\Package\": "src/"}};
— 整个 JSON 文件必须语法正确,哪怕多一个逗号,Composer 也会跳过这个仓库,不提示、不报错。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
为什么改了本地代码,vendor 里没反应
默认行为是复制(copy),不是软链接(symlink)。你看到的 vendor/vendor/name 是一份副本,和源码目录无关。
要启用实时联动,必须显式配置:
— 在 repositories 条目里加 "options": {"symlink": true},不是写在 config 里;
— Windows 需开启“开发者模式”或以管理员权限运行命令行,否则 symlink 创建失败且无提示;
— composer install 不会刷新已有链接,只补缺失项;改完本地代码后,必须执行 composer update vendor/name 才能重建 symlink。
离线安装时 vendor 目录为空或报 --no-network 错误
说明你漏掉了关键预处理步骤:离线机上不能跑任何带网络请求的命令。
正确流程只能在外网机完成:
— 确保项目已有有效的 composer.lock;
— 运行 composer install --prefer-dist --no-scripts --no-plugins,让所有 ZIP 包下载到 ~/.composer/cache/files/;
— 把整个 files/ 目录打包,复制到离线机固定路径(如 /opt/composer-offline-cache);
— 在离线机项目中配置自定义仓库:{"type": "artifact", "url": "/opt/composer-offline-cache"};
— 最后执行 composer install --no-network --prefer-dist。
openssl、zlib)、架构(x64 vs x86)必须和外网机严格一致,否则 ZIP 解压或 autoloader 注册会静默失败。










