Packagist不支持直接转让包所有权,但可通过添加协作者实现共同维护;2. 接收方需注册Packagist,由原维护者在包页面添加其为维护者;3. 完全移交推荐使用命名空间迁移:接收方fork仓库并修改composer.json中的vendor名为自己的;4. 接收方将新仓库提交至Packagist,获得独立管理权限;5. 原维护者可在旧包中标记“已废弃”,填写新包名引导用户迁移;6. 通过文档更新和清晰沟通确保平滑交接。

目前 Packagist 官方不支持直接转让包的所有权,但可以通过协作维护和移交命名空间的方式实现类似效果。以下是具体操作方法:
添加新维护者为协作者
如果你使用的是 GitHub 托管代码,可以在 Packagist 页面上将目标用户添加为协作者,前提是对方已在 Packagist 注册并登录:
- 登录 packagist.org
- 进入你想要移交的包的详情页
- 点击 "Manage" 按钮(需你是当前维护者)
- 在 "Maintainers" 区域点击 "Add",输入对方的 Packagist 用户名
- 对方会收到邀请,接受后即可同步更新包信息
这样对方就能推送更新、触发自动同步、发布新版本,达到共同维护的目的。
移交命名空间(建议方式)
如果你想完全“转让”包,最推荐的做法是让接收方在自己的命名空间下重新发布:
- 接收方 fork 你的仓库
- 修改 composer.json 中的 "name" 字段,改为他自己的 vendor 名,例如从
yourname/package改为theirname/package - 推送到他们自己的 GitHub/GitLab 仓库
- 在 Packagist 提交新包:https://www.php.cn/link/ec811d0d775adc62776ba80fadd4ed19/packages/submit
完成后,新包就可以由对方全权管理。你可以在原包的 README 和 Packagist 描述中注明“已迁移至 newvendor/package”,引导用户切换。
弃用旧包(可选)
如果你不再维护原包,可在 Packagist 上将其标记为废弃:
- 进入包页面 → "Edit" → 勾选 "Mark as deprecated"
- 填写推荐使用的替代包名(如 theirname/package)
这样使用你包的项目在执行 composer update 时会收到提示,知道应迁移到新包。
基本上就这些。虽然不能一键转让,但通过协作或重命名发布,可以平滑完成交接。关键是沟通清楚,并更新文档引导用户迁移。









