2

我正在为我的 Wordpress 项目使用来自Roots.IO的很棒的 Wordpress 堆栈Bedrock 。我从原始存储库创建了一个分支,对我的具体情况进行了轻微的定制,因为开发人员鼓励我们在他们的 README 文件中这样做。

推荐的 Bedrock 安装是通过 Composer 命令完成composer create-project roots/bedrock的,该命令从 Packagist 下载包。这可行,尽管我需要使用它的分叉版本。

如果我对 Composer 的理解正确,我有几个选择:

分叉存储库到 Packagist

将我的分叉存储库提交给 Packagist。Packagist 不建议这样做,但我已经尝试过一些奇怪的结果(如果需要,我可以详细说明)。

使用自定义存储库 URL 创建项目

运行create-project命令并将--repository-url选项设置为我的分叉存储库的 URL。对于以下错误(对于原始存储库和分叉存储库),这不起作用:

$ composer create-project wpgrouse/wpgrouse-bedrock --repository-url:https://github.com/wpgrouse/wpgrouse-bedrock.git

文件https://github.com/wpgrouse/wpgrouse-bedrock/packages.json无法下载。

好吧,基岩中没有这样的文件。

使用原始存储库并每次手动创建修改

这很糟糕,原因很明显。


你能帮我解决这个头痛吗?我也将问题发布到了 Bedrock GitHub,但由于我对此非常着急,我也想在这里寻求一些帮助。

提前谢谢你,彼得!

4

2 回答 2

2

选项2绝对正确。

您将需要为作曲家创建一个存储库以从中提取您的项目信息。最简单的解决方案是使用由制作 Composer 的同一个人制作的Satis 。Satis 是一个简单的包存储库生成器(就像一个静态的 Packagist)。

我的 satis.json 看起来像这样:

{
    "name": "Your Satis name",
    "homepage": "Url to your satis",
    "repositories": [
        { "type": "vcs", "url": "git@your-git-url:your-user/bedrock.git" }
    ],
    "require-all": true
}

我的基岩分支托管在私人 gitlab 服务器上,但我想您的 url 可能在 github 或 bitbucket 或其他任何地方。

然后,您将需要运行 satis 以便它创建存储库。请参阅 github 存储库以了解如何执行此操作。Satis 将吐出一个包含您的存储库内容的文件夹。我将我的托管在一个简单的网络服务器上。由于它只是 html,我相信您可以将其托管在 github 页面上,甚至可以在本地托管。

然后,您将可以致电:

composer create-project roots/bedrock --stability=dev --repository-url=http://your-statis-url <project_name>

如果您有任何疑问或需要更多详细信息,请不要犹豫。

于 2014-07-02T19:25:29.267 回答
1

对于任何 google speeders,我在 GitHub 上收到了来自 Bedrock creators 的答案

(选项 2)应该是正确的,但 Composer 文档似乎不适合此功能。请参阅:Composer create-project 在本地包存储库上失败,composer/composer#1899。基本上你需要在某个地方创建一个本地 packages.json 来定义你的 fork,然后使用该 packages.json 作为 --repository-url

我现在可能会坚持手动克隆存储库,即使它不像点击create-project命令那么闪亮。

另外,如果没有更聪明的人来,我会在这里留下这个答案。

于 2014-07-01T18:55:39.243 回答