必须设composer_disable_network=1,否则所有离线配置无效;它不是可选项而是硬性开关,--no-network参数根本不存在。linux/macos用前置环境变量,windows需用set或$env设置;离线install还必须加--no-plugins、--no-scripts、--no-autoloader,并立即执行composer dump-autoload -o。

必须设 COMPOSER_DISABLE_NETWORK=1,否则所有“离线配置”都无效——它不是可选项,是硬性开关。
为什么 --no-network 不起作用?
这个参数根本不存在,Composer 官方从未实现。用户常从别处抄来,结果执行时被忽略,命令照常联网失败。真正生效的只有环境变量 COMPOSER_DISABLE_NETWORK=1,它会强制跳过所有 HTTP 触发点:元数据加载、dist 校验、插件远程检查。
- Linux/macOS:前置写法,
COMPOSER_DISABLE_NETWORK=1 composer install --no-plugins --no-scripts --no-autoloader - Windows CMD:
set COMPOSER_DISABLE_NETWORK=1 && composer install --no-plugins --no-scripts --no-autoloader - PowerShell:
$env:COMPOSER_DISABLE_NETWORK="1"; composer install --no-plugins --no-scripts --no-autoloader
composer install 离线执行必须带哪几个参数?
只设环境变量还不够。默认行为仍会重建 autoload、执行脚本、加载插件——这些环节可能间接触发网络调用(比如 phpstan/extension-installer 初始化时查版本)。
围绕关键发现、作用机制、临床相关性及研究局限性展开讨论。适用于撰写或优化任何生物医学论文的“讨论(Discussion)”部分——包括结果解读、与既往文献关联、阐释意外发现、界定研究局限性,以及撰写结论。当用户输入以下任一指令时也会自动触发该功能: - “write my discussion” - “help me discuss my findings” - “how do I compare to prior studies” - “write the limitations par
-
--no-plugins:跳过插件初始化,防止隐式联网 -
--no-scripts:屏蔽post-install-cmd,避免脚本调用curl或npm -
--no-autoloader:绕过 autoload 重建,某些自定义 autoloader 实现会尝试远程类查找
执行完必须立刻补一记:composer dump-autoload -o,否则运行时大概率报 Class not found。
离线前最容易被忽略的三件事
很多团队在联网机上配了镜像、跑了 install,以为 vendor 拷过去就能用,结果离线机上直接报错。问题往往出在这三点:
- 没清掉全局镜像配置:
composer config --global repo.packagist false必须执行,否则 Composer 会在离线时 fallback 尝试连接https://mirrors.aliyun.com/composer/ -
composer.lock里含"source": {"type": "git", ...}条目:这种锁文件天生不支持离线,install 必然失败 - 用了
create-project命令初始化:它强制联网解析模板元数据,COMPOSER_DISABLE_NETWORK=1对它完全无效,离线必须改用分步法(git clone+ 复制 vendor +dump-autoload)
离线不是“断网就行”,而是要切断所有触发网络的路径——包括配置残留、锁文件结构、命令选择。稍有遗漏,composer install 就会在 Loading composer repositories 阶段卡死或报 Could not fetch https://repo.packagist.org/packages.json。










