我用的是很棒的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
命令那么闪亮。
另外,如果没有更聪明的人来的话,我将把这个作为答案留在这里。