我正在使用来自Bedrock的精彩Wordpress堆栈Roots.IO来处理我的Wordpress项目。我在原始存储库中创建了一个fork,并根据我的具体情况进行了轻微的自定义,因为开发人员鼓励我们在他们的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没有这样的文件。
使用原始存储库并每次手动创建修改
由于显而易见的原因,这很糟糕。
提前谢谢你,Petr!
答案 0 :(得分:2)
选项2绝对正确。
您需要为composer创建一个存储库以从中提取项目信息。最简单的解决方案是使用由制作Composer的相同人员制作的Satis。 Satis是一个简单的包存储库生成器(就像一个静态Packagist)。
我的satisf.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服务器上,但我想你的网址可以在github或bitbucket或其他任何地方。
然后您需要运行满意,以便创建存储库。请参阅github repo,了解如何执行此操作。 Satis将吐出一个包含您的存储库内容的文件夹。我在一个简单的Web服务器上托管我的。由于它只是html,我相信你可以在github页面或者甚至在本地托管它。
然后您就可以致电:
composer create-project roots/bedrock --stability=dev --repository-url=http://your-statis-url <project_name>
如果您有疑问或需要更多详细信息,请不要犹豫。
答案 1 :(得分:0)
对于任何Google调速员,I've received my answer on GitHub from Bedrock creators。
(选项2)应该是正确的,但看起来Composer文档对于此功能并不是很好。 请参阅:Composer create-project fails on local package repository,composer / composer#1899。基本上你需要在某个地方创建一个本地的packages.json来定义你的fork,然后使用那个packages.json作为--repository-url
我现在可能会坚持手动克隆存储库,即使它不像点击create-project
命令那样闪亮。
另外,如果没有更聪明的人,我会在此留下这个答案。