【问题标题】:How to deploy patched third party library with composer install如何使用 composer install 部署修补的第三方库
【发布时间】:2016-04-14 15:10:53
【问题描述】:

第一次提问 - 我找不到这个问题的答案。

我已经在我的应用程序中使用了一个供应商库的 GitHub 存储库。这使我能够修补第三方供应商库。为了将分叉的存储库引入我的应用程序,我使用了一个 git 子模块——按照标准的“项目中的项目”。然后,我从之前加载 git 存储库的 composer.json 中删除了“require”行。

但是,当我的生产服务器运行“composer install”时,composer 不会在生产中安装子模块/git 存储库。

我的问题:如何部署修补的 GitHub 子模块?我应该在安装时使用作曲家下载吗?

环境:PHP、Symfony、heroku

不胜感激。

【问题讨论】:

    标签: git symfony github composer-php git-submodules


    【解决方案1】:

    在您的composer.json 中,将repositories key 添加到根目录:

    "repositories": [
        {
            "vcs": "vcs",
            "url": "https://github.com/user/repo",
        }
    ]
    

    然后像往常一样在require 部分引用包名称。 Composer 按顺序在每个列出的存储库中搜索匹配项,如果没有找到匹配项,则回退到 Packagist。相关存储库条目的存在将允许您覆盖 Packagist 中的包并获取您的自定义版本。

    【讨论】:

    • 感谢这个 jbafford。我用过这条线,它有效。但是从在线文档中,并不完全清楚包的名称(在超级 git repo 的 composer.json 中使用)应该对应于 composer.json 文件中的名称(第三方包/存储库)而不是实际存储库名称(尽管它们通常非常接近)。我希望这可以帮助其他有同样问题的人。
    猜你喜欢
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-23
    • 2020-02-08
    • 2013-12-06
    • 1970-01-01
    相关资源
    最近更新 更多