如何在不发布到Packagist的情况下,测试一个本地开发的composer包?
发布时间 - 2025-11-20 00:00:00 点击率:次通过配置 path 仓库可本地测试 Composer 包。1. 确保包含 composer.json 并遵循标准结构;2. 在主项目中添加 type 为 path 的仓库并指定本地路径;3. 执行 require 命令安装,Composer 将链接或复制文件;4. 可选使用通配符批量引入多个本地包,提升开发效率。
在不发布到 Packagist 的情况下测试本地开发的 Composer 包,可以通过配置 path 资源(path repository) 实现。这样能让主项目引用本地包文件夹,像使用正式包一样进行依赖管理,无需上传到任何仓库。
1. 准备本地包结构
确保你的包遵循标准的 Composer 包结构,并包含 composer.json 文件。例如:
my-awesome-package/├── src/
│ └── SomeClass.php
├── composer.json
其中 composer.json 至少要有名称和自动加载配置:
{"name": "vendor/my-awesome-package",
"autoload": {
"psr-4": { "Vendo
r\\MyAwesomePackage\\": "src/" }}
}
2. 在主项目中添加 path 仓库
在使用该包的主项目的 composer.json 中添加一个 path 类型的仓库:
"repositories": [{
"type": "path",
"url": "../my-awesome-package"
}
],
"require": {
"vendor/my-awesome-package": "*@dev"
}
注意:url 是相对于主项目 composer.json 的路径。如果包在同级目录下,如上所示;也可以使用绝对路径或通配符(见下文)。
3. 安装并验证
运行以下命令安装本地包:
composer require vendor/my-awesome-package:@devComposer 会创建一个符号链接(Linux/macOS)或复制文件(Windows),将本地包引入 vendor/ 目录。你在本地修改代码后,主项目能立即生效(需重新加载自动加载器)。
4. 可选:使用通配符简化多包管理
如果你有多个本地包,可以用通配符方式一次性引入:
"repositories": [{
"type": "path",
"url": "../packages/*"
}
]
这样所有在 ../packages/ 下的包都会被识别,只要它们的 name 和目录匹配。
基本上就这些。通过 path 仓库机制,你可以高效地迭代本地包,无需频繁提交、推送或发布版本。调试和集成变得非常直接。
# php
# linux
# js
# json
# composer
# windows
# mac
# macos
# win
# cos
# require
# 多个
# 可选
# 自动加载
# 要有
# 你在
# 可以用
# 你有
# 可以通过
# 能让
# 可以使用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
佛山企业网站制作公司有哪些,沟通100网上服务官网?
iOS正则表达式验证手机号、邮箱、身份证号等
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Windows家庭版如何开启组策略(gpedit.msc)?(安装方法)
如何在云主机上快速搭建网站?
百度浏览器如何管理插件 百度浏览器插件管理方法
音响网站制作视频教程,隆霸音响官方网站?
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
香港服务器租用每月最低只需15元?
JavaScript Ajax实现异步通信
canvas 画布在主流浏览器中的尺寸限制详细介绍
深圳网站制作平台,深圳市做网站好的公司有哪些?
宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法
5种Android数据存储方式汇总
如何用VPS主机快速搭建个人网站?
如何在IIS中新建站点并配置端口与IP地址?
如何快速登录WAP自助建站平台?
Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践
青岛网站建设如何选择本地服务器?
如何在香港免费服务器上快速搭建网站?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
如何将凡科建站内容保存为本地文件?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
非常酷的网站设计制作软件,酷培ai教育官方网站?
如何用PHP快速搭建CMS系统?
开心动漫网站制作软件下载,十分开心动画为何停播?
Win11怎样安装网易有道词典_Win11安装词典教程【步骤】
什么是javascript作用域_全局和局部作用域有什么区别?
如何破解联通资金短缺导致的基站建设难题?
edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】
INTERNET浏览器怎样恢复关闭标签页_INTERNET浏览器标签恢复快捷键与方法【指南】
标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南
Laravel如何实现事件和监听器?(Event & Listener实战)
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
Python高阶函数应用_函数作为参数说明【指导】
Android仿QQ列表左滑删除操作
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
手机软键盘弹出时影响布局的解决方法
做企业网站制作流程,企业网站制作基本流程有哪些?
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】
Laravel如何使用Sanctum进行API认证?(SPA实战)
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
如何快速使用云服务器搭建个人网站?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】

