我创建了一个Laravel仓库的分支,对它进行了一些更改,并将作曲家文件中的名称重命名为votemike / laravel。我现在想基于这个仓库创建一个新项目,所以我打电话给:
composer create-project --prefer-dist votemike/laravel --repository='{"type":"vcs","url":"https://github.com/votemike/laravel"}' testing
然而,我的终端然后弹出说Reading composer.json of votemike/laravel (v5.2.23)
逐渐递减。结果项目似乎是一个正常的Laravel项目,没有我的更改。
然后我尝试了:
composer create-project --prefer-dist votemike/laravel:master --repository='{"type":"vcs","url":"https://github.com/votemike/laravel"}' testing
但这似乎也不起作用。
任何人都可以帮我解决我需要运行的命令吗?我假设我的电脑不应该读取每个版本的作曲家文件。命令可以简化吗?
谢谢,
迈克尔
答案 0 :(得分:5)
更新
由于这是一个自定义的Composer项目,我想知道您是否可以使用我撰写博文的自定义创建项目脚本:Composer create project script
您只需将其放在项目的根目录下,编辑它以匹配并运行它 - 它将为您创建一个项目。
我用它来测试我自己的Composer项目,我认为它可以让你简单地创建你的自定义Laravel项目,而不必与Composer争夺版本。
https://gist.github.com/jacmoe/e9e8ed5fd45affb893a8
编辑:
您需要做的就是编辑:
BRANCH_NAME=${1:-master}
DEST_DIR=${2:-~/Desktop/newapp}
PACKAGE_NAME=vendor/package
您可以保留第一个(BRANCH_NAME
),但请更改DEST_DIR
和PACKAGE_NAME
!
PACKAGE_NAME
必须匹配已修改的Laravel源目录的composer.json
的包名称。
注意:
你从你的Laravel分支的本地克隆副本中使用它 - 它在本地工作 - 它不会尝试在Github或Packagist上找到任何东西。它使用您所在的目录(工作目录)并使用它来创建项目 - 您可以选择脚本创建它的位置。
原始答案:
脱离我的头顶:
composer create-project --prefer-dist --stability=dev votemike/laravel
或者,如果这不起作用,请尝试:
composer create-project --prefer-dist --stability=dev votemike/laravel:dev-master
或者,代替dev-master
,使用@dev
- 或dev-branch
...
第一个命令应该这样做。
您的克隆项目是否有任何标签?如果没有,那就解释了为什么Composer正在采取行动。告诉它使用dev-master
将解决这个问题,因为默认情况下,Composer只会拉取版本(major.minor.revision方案后面的标签)。
编辑:
在我的一个项目中,我正在使用包的主分支,使用composer.json
中的以下条目:
"jacmoe/yii2-tale-jade": "dev-master",
如何将您的包装到您的composer.json由您自己决定 - 手动或使用正确的版本(如dev-master
)
这要求您尝试要求的项目的 composer.json 不使用版本字段 - 如果确实有,请删除它。