首先将已下载的PHP依赖包放入本地vendor-archive目录,在composer.json中通过”repositories”添加离线包信息,指定zip路径和版本,执行composer install完成安装;或在联网环境安装后连同vendor目录与composer.lock一并迁移至离线设备,运行composer install –no-download实现快速部署。
如果您需要在无网络环境的服务器或开发设备上安装PHP依赖包,但无法通过Composer直接从远程仓库拉取,可以通过预先准备依赖包的方式实现离线安装。以下是具体操作流程。
本文运行环境:ThinkPad X1 Carbon,Windows 11
一、使用已下载的依赖包进行本地安装
该方法适用于已在有网环境中下载好所有依赖包并复制到目标机器的情况。Composer支持从本地路径加载zip包或目录结构。
1、将已下载的依赖包(.zip文件或解压后的目录)放置于项目根目录下的
vendor-archive
文件夹中。
2、修改项目的
composer.json
文件,在
repositories
字段中添加本地包引用:
“type”: “package”用于声明这是一个独立的包定义,必须包含完整的名称和版本信息。
3、为每个离线包添加如下格式的配置:
{ “package”: { “name”: “monolog/monolog”, “version”: “2.9.0”, “dist”: { “url”: “file:///./vendor-archive/monolog-2.9.0.zip”, “type”: “zip” } } }
4、执行命令
composer install --no-scripts --no-progress
,Composer将从本地路径读取并安装这些包。
二、利用镜像打包与完整依赖导出
此方法通过在联网环境中完整安装依赖后,整体迁移至离线环境,确保版本一致性。
1、在联网机器上进入项目目录,执行
composer install
完成全部依赖安装。
2、确认
vendor
目录和
composer.lock
文件已生成且内容完整。
3、将整个项目目录(包括
vendor
、
composer.json
、
composer.lock
)压缩打包。
4、将压缩包传输至离线设备,并解压到目标路径。
5、在离线设备上运行
composer install --no-download
,Composer将跳过下载阶段,仅根据lock文件校验并生成自动加载文件。
三、配置本地私有仓库镜像
适合团队内部多台离线设备复用依赖包的场景,通过搭建本地静态资源库实现高效分发。
1、在联网机器上使用工具如
composer-bundle
或脚本批量下载项目所需的所有依赖包(含递归子依赖)。
2、将所有
.zip
文件集中存放于本地共享目录,例如:
D:composer-repopackages
。
3、在离线项目的
composer.json
中注册本地仓库:
{ “type”: “composer“, “url”: “file://D:/composer-repo/” }
4、确保该目录下存在
packages.json
索引文件,描述各包的元数据信息。
5、执行
composer require vendor/package-name:version
,Composer会从指定本地路径查找匹配包。
以上就是php js json composer windows 工具 解压 win windows 11 本地仓库 php composer carbon json require 递归 windows