专网机器上不能运行 composer create-project,因其设计强制联网访问 https://repo.packagist.org/packages.json,绕过方法是:联网机全量构建(git clone + composer install --no-dev --prefer-dist --no-scripts --no-plugins --optimize-autoloader),迁移完整 vendor/ 和 composer.lock;专网机执行 composer_disable_network=1 composer install --no-plugins --no-scripts --no-autoloader 后补 composer dump-autoload -o;装新包须用 path 类型本地仓库。

专网机器上不能运行 composer create-project
这个命令在专网里必挂,不是配置问题,是设计使然。它第一步就硬编码访问 https://repo.packagist.org/packages.json,哪怕你删了 composer.lock、加了 COMPOSER_DISABLE_NETWORK=1,甚至改了 hosts,它照样报 Could not fetch packages.json。专网部署必须绕开它。
离线包导入唯一可行路径:vendor 目录 + lock 文件 + 禁网络参数
前提是你已在有网环境完成全量构建。专网机上执行的命令必须带这组参数,缺一不可:
-
COMPOSER_DISABLE_NETWORK=1—— 这是硬开关,不设它,其他参数全失效 -
composer install --no-plugins --no-scripts --no-autoloader—— 防止插件/脚本触发隐式联网或写权限冲突 - 执行完立刻补:
composer dump-autoload -o—— 否则运行时大概率Class not found
注意:vendor/ 必须完整,composer.lock 必须是同一构建环境生成,且 PHP 小版本(如 8.2.12)、关键扩展(mbstring、openssl、zlib)必须一致。Windows 路径下还要检查反斜杠是否被误转义。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
想在专网里装新包?只能用 path 类型仓库
composer require 在专网直接报错 Could not find package,因为它默认查远程源。唯一离线方案是把本地代码目录注册为仓库:
- 目标包根目录下必须有合法
composer.json,含"name"和"version"(或"dev-main"这类分支标识) - 项目
composer.json中添加:"repositories": [{"type": "path", "url": "./packages/my-lib"}](相对路径;Windows 用C:/projects/my-lib) - 再执行:
composer require my-vendor/my-lib:dev-main(版本号必须和本地包的composer.json严格匹配)
注意:path 模式下,vendor/ 里建的是符号链接(Linux/macOS)或复制(Windows),不是 ZIP 解压。若专网机重启后挂载点变化,链接会断,得重跑 install。
别碰 artifact 或 repos.packagist false 这类半吊子配置
"type": "artifact" 只支持顶层包,子依赖仍要联网校验,专网里等于没关闸。而只运行 composer config --global repo.packagist false 不够——如果 composer.json 里还留着 "repositories" 数组且含 packagist 条目,COMPOSER_DISABLE_NETWORK=1 下 Composer 会直接退出,不是静默忽略。真正要清的是全局配置和项目级配置双重残留。










