Composer怎么配置离线静态源?本地文件服务器搭建

夏敏小哥_5387

夏敏小哥_5387

2026-11-05

228人浏览

原创

离线静态源必须用 Satis 生成,因其依赖完整的 packages.json 和 dist/ZIP 文件供 composer install 直接读取;仅放 vendor/ 或 ZIP 而无索引文件会导致元数据缺失、校验失败或网络回退,须通过三重断网配置(删默认源、禁用全局源、设环境变量)并严格对齐 archive.prefix-url 与 Web 路径方可生效。

composer怎么配置离线静态源?本地文件服务器搭建

离线静态源必须用 satis 生成,不能靠改 repositories 或配本地 Web 服务假装可用——它依赖完整、可被 composer install 直接读取的 packages.json 和 dist/ ZIP 文件,否则会报 Could not fetch https://repo.packagist.org/packages.json。

为什么 nginx + 直接放 vendor/ 不行

Composer 安装时先请求 packages.json 获取包元数据(版本、依赖、dist URL),再按需下载 ZIP。只放 vendor/ 目录或 ZIP 文件本身,没有索引文件,composer install 根本不知道该装什么、装哪个版本。

  • 把 vendor/ 整个目录扔进 Web 根目录,访问 http://localhost/vendor/monolog/monolog-2.13.0.zip 是能下载,但 composer install 不会猜路径,也不会扫描目录
  • 用 php -S 起一个本地服务器,不生成 packages.json,照样报错 file could not be downloaded: failed to open stream
  • 哪怕你手动写了个 packages.json,只要没按 Satis 规则生成校验字段(如 dist.shasum)、没配好 archive.prefix-url,composer install 会在校验阶段失败并退出

satis build 必须在联网机完成

Satis 不是“部署即用”的服务,它是构建工具:必须在有网机器上运行 php bin/satis build 抓取包、生成 JSON、打包 ZIP,输出才是离线可用的静态文件集。

  • 安装:composer create-project composer/satis --stability=stable,不要用 global require,避免插件冲突
  • satis.json 中禁用 HTTPS 强制检查:"config": {"secure-http": false},否则内网 HTTP 服务会被拒绝
  • archive.directory 设为 "dist",archive.prefix-url 设为你的内网地址,例如 "http://192.168.10.50"(注意末尾不加 /dist)
  • 运行 php bin/satis build satis.json output/ 后,output/packages.json 和 output/dist/*.zip 才是一套完整静态源

离线机配置 repo 指向静态目录,且彻底断网行为

只加一条 repositories 配置远远不够,composer install 仍会 fallback 到 packagist.org,必须从三处同时切断:

Academic Composer Upload
Academic Composer Upload

辅助学术写作,包括查找资料、生成大纲、引用扩写及润色风格,同时确保引用规范。

下载
  • 项目级删掉 composer.json 中所有含 "url": "https://packagist.org" 的 repositories 条目
  • 全局禁用默认源:composer config --global repo.packagist false
  • 设置硬性环境变量:ENV COMPOSER_DISABLE_NETWORK=1(Docker 或 shell profile 中都得设)
  • 配置本地源:composer config repositories.my-mirror composer http://192.168.10.50,URL 必须和 satis.json 中 archive.prefix-url 一致

验证是否真离线:别信 composer --version

composer --version 成功不代表离线安装可行。真正要测的是依赖解析和下载链路是否绕开了网络:

  • 断网测试:ip link set eth0 down(Linux)或拔网线
  • 清空 vendor/ 和 composer.lock(若已有 lock,先 rm -rf vendor && rm composer.lock)
  • 执行:composer install --no-plugins --no-scripts --no-autoloader --no-interaction
  • 若出现 Could not fetch http://192.168.10.50/packages.json,说明 Web 服务没起来或路径不对;若出现 Could not fetch https://repo.packagist.org/...,说明某处 repo.packagist 配置没生效

最容易被忽略的是 archive.prefix-url 和实际 Web 服务路径的对齐——Satis 生成的 packages.json 里每个包的 dist.url 都由它拼接得出,错一个字符,ZIP 就 404。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

980

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3392

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1116

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

989

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

534

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

3136

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5892

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

907

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpMyAdmin 安装文档
phpMyAdmin 安装文档

共0课时 | 0人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习