在联网环境使用 composer install --no-autoloader --no-scripts --prefer-dist 下载依赖并生成 composer.lock;2. 复制缓存目录 ~/.composer/cache/files 中的包到内网机器;3. 配置内网 Composer 全局 cache-files-dir 指向本地缓存路径;4. 运行 composer install --no-autoloader --no-scripts --prefer-dist 脱机安装。关键为保留 lock 文件与完整缓存。

在离线或内网环境中使用 Composer 安装 PHP 依赖时,由于无法访问 packagist.org 或 GitHub 等远程源,直接运行 composer install 会失败。解决办法是在有网络的环境中提前下载所有必需的包和元数据,然后将缓存复制到目标环境。以下是具体操作步骤。
在一台可联网的机器上,确保项目中已存在 composer.json 和 composer.lock 文件(lock 文件必须存在,它锁定依赖版本)。
执行以下命令预下载所有依赖包:
Composer 默认将包缓存到用户目录下的 ~/.composer/cache/files(Linux/macOS)或 C:\Users\用户名\AppData\Roaming\Composer\Cache\files(Windows)。
找到缓存路径后,复制整个 files 目录中的内容。这些是每个依赖包的压缩包(如 vendor/package/version.zip),Composer 在离线安装时会优先使用它们。
也可以通过配置自定义缓存路径以便集中管理:
之后再运行 composer install,所有包都会下载到指定目录,便于打包转移。
将项目和缓存文件一起复制到内网机器。确保 Composer 已安装。
设置 Composer 使用本地缓存路径:
然后在项目目录下运行:
如果所有包已在缓存中,Composer 将跳过网络请求,直接解压本地包完成安装。
对于多项目共享场景,可进一步将缓存部署为私有 Satis 或 Toran Proxy 服务器,构建内网镜像站。但若仅需单次部署,直接复制缓存更简单高效。
关键是保证 composer.lock 不变,且缓存中包含 lock 文件所列的所有包版本。
基本上就这些。只要提前把包下全,并正确设置缓存路径,Composer 在无网环境下也能顺利完成依赖安装。
以上就是Composer如何为离线或内网环境准备完整的依赖包缓存的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号