编写器创建项目:使用分叉的存储库



我用的是很棒的Wordpress stack Bedrock from Roots。IO为我的Wordpress项目。我从原始存储库创建了一个分支,并根据我的具体情况进行了轻微的定制,正如开发人员在他们的README文件中鼓励我们做的那样。

建议通过Composer命令composer create-project roots/bedrock安装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中没有这样的文件。

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

这很糟糕,原因很明显。


你能帮我治一下头痛吗?我也把这个问题贴到了Bedrock GitHub上,但是因为我非常着急,所以我也想在这里寻求一些帮助。 提前谢谢你,彼得!

选项2肯定是正确的。

您需要为composer创建一个存储库,以便从中提取项目信息。最简单的解决方案是使用由制作Composer的人制作的Satis。Satis是一个简单的包存储库生成器(类似于静态Packagist)。

我的满意。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或其他任何地方。

您将需要运行satiss以便它创建存储库。关于如何做到这一点,请参考github的repo。Satis将生成一个包含存储库内容的文件夹。我把我的托管在一个简单的web服务器上。因为它只是html,我相信你可以把它托管在github页面上,甚至可能在本地。

您将能够调用:

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

如果你有问题,或者需要更多的细节,请不要犹豫。

对于任何google speeders,我已经从Bedrock创建者那里收到了我在GitHub上的答案。

(选项2)应该是正确的,但看起来Composer文档对这个特性不是很好。参见:Composer在本地包存储库上创建项目失败,Composer/Composer #1899基本上,您需要创建一个本地包。Json在某个地方定义你的分支,然后使用那个包。Json作为——repository-url

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

另外,如果没有更聪明的人来的话,我将把这个作为答案留在这里。

相关内容

  • 没有找到相关文章

最新更新