如何将本地文件夹作为Composer的artifact仓库使用?(离线安装)

18次阅读

可以将本地文件夹用作composer的artifact仓库,需将符合规范的ZIP/TAR包(根目录含合法composer.json)置于指定目录,并在项目composer.json中配置”type”: “artifact”及对应本地路径,即可离线安装。

如何将本地文件夹作为Composer的artifact仓库使用?(离线安装)

可以直接把本地文件夹当作 Composer 的 artifact 仓库来用,适合离线环境或内部包分发。关键不是“挂载”,而是让 Composer 把某个目录里的 ZIP/TAR 包当成可安装的源。

准备包文件:按规范打包

每个要安装的包必须是标准的 ZIP 或 TAR(.tar、.tar.gz、.tgz)格式,且压缩包根目录里必须包含 composer.json 文件(内容需合法,含 nameversion 等必要字段)。

  • 例如:myvendor/mypackage-1.2.0.zip 解压后结构应为:
    composer.json
    src/...
    tests/...
  • 文件名建议遵循 {vendor}/{package}-{version}.{ext} 格式,Composer 会自动解析 vendor、name 和 version
  • 不强制要求版本号在文件名里,但强烈推荐——否则需额外配置 artifactpackages 映射

配置 composer.json:声明 artifact 类型仓库

在你项目的 composer.json 中添加 repositories 配置,类型设为 artifact,路径指向存放 ZIP/TAR 的本地文件夹(支持相对或绝对路径):

"repositories": [   {     "type": "artifact",     "url": "./packages/"   } ]

注意:url 是文件夹路径,不是 URL;该文件夹下所有 ZIP/TAR 都会被扫描,无需索引文件。

如何将本地文件夹作为Composer的artifact仓库使用?(离线安装)

拍客piikee竞拍系统

拍客竞拍系统是一款免费竞拍网站建设软件,任何个人可以下载使用,但未经商业授权不能进行商业活动,程序源代码开源,任何个人和企业可以进行二次开发,但不能以出售和盈利为目的。安装方法,将www文件夹里面的所有文件上传至虚拟主机,在浏览器执行http://你的域名/install.php或者直接导入数据库文件执行。本次升级优化了一下内容1,程序和模板完美分离。2,优化了安装文件。3,后台增加模板切换功能。

如何将本地文件夹作为Composer的artifact仓库使用?(离线安装) 0

查看详情 如何将本地文件夹作为Composer的artifact仓库使用?(离线安装)

安装时指定版本(离线有效)

确保 require 中写的版本能被 artifact 仓库匹配到:

  • 如果包文件叫 monolog/monolog-2.10.0.zip,就写:"monolog/monolog": "2.10.0"
  • 支持通配符:"monolog/monolog": "^2.10" 也可,只要对应 ZIP 存在
  • 运行 composer installcomposer update 即可——Composer 会跳过网络请求,直接从本地解压安装

验证与常见问题

若安装失败,先检查:

  • ZIP 包是否损坏?用系统工具手动解压试试
  • composer.json 是否在压缩包顶层?不能嵌套在子文件夹里
  • 包名(name 字段)和 require 中写的是否完全一致(包括大小写)
  • 路径是否写错?./packages/ 要相对于当前 composer.json 所在位置

基本上就这些。不需要启动 HTTP 服务,也不依赖 Packagist,纯文件系统即可工作。

text=ZqhQzanResources