这是我的作曲家。我想在Github上使用Nodge的lessphp项目的fork
"repositories": [{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
}
}
}],
"require": {
"php": ">=5.3.3",
"nodge/lessphp": "dev-master"
},
但是当我运行composer update时,我得到了这个错误:
Nodge /lessphp dev-master ->没有找到匹配的包。
我不知道如何正确地要求这个叉子。
使用VCS的工作:
"name": "test/test",
"repositories": [{
"type": "vcs",
"url": "http://github.com/Nodge/lessphp"
}],
"require": {
"leafo/lessphp": "dev-master"
},
但如果我需要一个有这个作曲器的模块。Json,它不起作用。它安装原始项目,而不是分支。
例子
"name": "example/example",
"require": {
"test/test": "dev-master"
},
我应该再次提到存储库。这正常吗?
最常见(也是最简单)的方法是使用VCS存储库。
您所要做的就是将您的fork添加为存储库并更新
版本约束指向您的自定义分支。您的自定义分支
名称必须加上“dev-”前缀。
假设你fork了monolog/monolog,并创建了一个叫做bugfix的分支,你会更新你的作曲家。Json是这样的:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/igorw/monolog"
}
],
"require": {
"monolog/monolog": "dev-bugfix"
}
}
注意,除了指定错误修复分支,您不需要更改require语句。您仍然引用上游包(monolog/monolog),而不是您的个人分支(igorw/monolog),并且分支名称前缀为dev-。你可以在文档中阅读细节
使用VCS的工作:
"name": "test/test",
"repositories": [{
"type": "vcs",
"url": "http://github.com/Nodge/lessphp"
}],
"require": {
"leafo/lessphp": "dev-master"
},
但如果我需要一个有这个作曲器的模块。Json,它不起作用。它安装原始项目,而不是分支。
例子
"name": "example/example",
"require": {
"test/test": "dev-master"
},
我应该再次提到存储库。这正常吗?
现在是2019年,大部分答案都是正确的。
但是,如果你发现自己需要使用fork(你自己创建的)的一个特定分支,让编码器先列出可用的版本/标签。
这节省了我很多时间。
space / laravelv -backup包的完整示例。
首先,向composer.json添加存储库键。使用你的fork的url
"repositories": [{
"type": "vcs",
"url": "https://github.com/holymp2006/laravel-backup"
}]
获取可用的版本/标签
composer show "spatie/laravel-backup" --all
从终端输出中的版本中选择您想要的版本,然后要求该版本
composer require spatie/laravel-backup:v5.x-dev
我通常在包定义中添加一个“dist”节点。
我用这种方法从来没有遇到过问题。
我不记得我从哪里学来的这个技巧,不过,没有进一步的解释。
{
"repositories": [
{
"type": "package",
"package": {
"version": "dev-master",
"name": "nodge/lessphp",
"source": {
"url": "https://github.com/Nodge/lessphp.git",
"type": "git",
"reference": "master"
},
"autoload": {
"classmap": ["lessc.inc.php"]
},
"dist": {
"url": "https://github.com/Nodge/lessphp/archive/master.zip",
"type": "zip"
}
}
}
],
"require": {
"nodge/lessphp": "*"
}
}