【发布时间】:2023-03-11 20:09:01
【问题描述】:
我是 Composer 和 Git/GitHub 的新手,所以如果这是一个愚蠢的问题,请原谅!
我在 GitHub 上的存储库中构建了一个 WordPress 插件,我将使用该存储库通过此插件更新检查器库向插件分发更新:https://github.com/YahnisElsts/plugin-update-checker
该插件有许多我已经安装的 Composer 依赖项。我一直在研究,显然您不应该在您的 GitHub 存储库中包含作曲家供应商目录(请参见此处:https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md)但是我的困惑是,如果供应商目录,我如何使用更新检查器从 GitHub 分发插件不包括在内?
实现这一目标的正确方法是什么?我错过了什么明显的东西吗?
提前非常感谢,海登
【问题讨论】:
-
一般来说,大多数人会告诉你不要跟踪
vendor。相反,大多数人会建议创建一个构建任务来执行composer install并进行一些额外的优化,并将 zip 附加到 GitHub 中的专用版本,并且该插件似乎也支持这一点。但是,这可能比您希望的要复杂一些。在 GitHub 中针对此特定场景跟踪vendor并不是世界末日,如果您的安装基础很小和/或受控,这可能不是一个坏主意。 -
@ChrisHaas 感谢您提供的知识。您是否碰巧有任何关于构建任务的资源或示例可以发送给我?如果可能的话,我想了解更多。你也知道为什么人们会说不要跟踪供应商吗?我很难理解为什么这是一个问题。再次感谢!
-
@HaydenIngham 您的存储库中似乎已经有
composer.json。它还有require部分。我认为一旦用户运行composer install,就会创建vendor目录。您是否对更具体的事情感到困惑,或者这是否是正确的方法? -
@HaydenIngham,不幸的是我现在没有。我所有的公共插件目前都托管在官方 WordPress 存储库中并使用 SVN,我所有的其他插件都是为个人客户手动维护的。但是您要研究的是“GitHub 操作”,它需要一些设置,但一旦您获得它,它们就会非常容易。
-
@vish 用户将无法运行“composer install”。他们是没有这些知识的最终用户。我的插件将通过 WordPress 网站上的 zip 文件安装。另外,我不确定您是否感到困惑,上面的 GitHub 链接不是我的存储库。这是一个 WordPress 插件更新检查器,我将包含在我的插件中。我的存储库确实包含一个“composer.json”文件,但是如果未包含 vendor 文件夹,则不会安装依赖项,因为插件的用户将无法执行“composer install”。我希望这是有道理的。
标签: php wordpress git github composer-php