首页 > 解决方案 > 同时开发 Composer 的库和主项目的最佳实践是什么?

问题描述

我正在努力了解在主要项目开发和库开发中使用 Git 的最佳实践是什么。我将尝试解释:我正在同时开发一个项目和一个库。它们都在 GitHub 上。这是我目前的工作流程:

  1. 在库中进行更改
  2. 提交并推送到 GitHub,在 Packagist 上发布和更新
  3. 在主工程中运行composer update,这样会下载新版本的库
  4. 使用新的库版本进行测试

这太复杂了,也不对。这个问题的锻炼方法是什么?我有一个选择:

也许有一些聪明而酷的方法可以摆脱这个问题,但我不知道。请解释如何做到这一点。提前致谢。

PS 我正在使用 PhpStorm,也许它有一个选项可以帮助我们解决问题。

标签: phpgitcomposer-phpphpstorm

解决方案


如果您经常更新主项目使用的库,则应考虑将其托管为本地存储库。

您可以使用 composer CLI 添加存储库(请参阅文档composer.json),但手动更新文件要简单得多。

打开您的composer.json文件并找到该repositories属性(如果它不存在,则在根范围内创建它)。

它应该是一个对象数组,每个对象都应该有一个类型(版本控制系统的 vcs)和一个 url。

还将您的库添加到require. 如果您愿意,可以使用 git 版本标签,但指向dev-master是一种非常常见的做法。

{
    "name": "mainproject",
    "description": "Main project development",
    "repositories": [{
        "type": "vcs",
        "url": "ssh://git@my-git-server-url.com/library.git"
    }],
    "require": {
        "library/library": "dev-master"
    }
}

当您更新了您的库(并将更改推送到存储库)后,您可以简单地composer update library/library从您的主开发项目运行以从您的库中获取所有更改。


推荐阅读