【问题标题】:How do you get composer to install a non-composer package?你如何让作曲家安装非作曲家包?
【发布时间】:2013-05-26 17:26:17
【问题描述】:
我正在尝试让作曲家从这个项目中下载以下库,但是它没有 composer.json 文件,所以我不确定这是否可能。
{
"require" : {
"fguillot/picoFeed" : "*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/fguillot/picoFeed"
}
]
}
错误:
[Composer\Repository\InvalidRepositoryException]
在的任何分支或标签中都找不到有效的 composer.json
https://github.com/fguillot/picoFeed,无法加载包
来自它。
【问题讨论】:
标签:
php
composer-php
packagist
【解决方案1】:
要包含非作曲家存储库,您需要设置package repository。这会给你类似的东西:
{
"repositories": [
{
"type": "package",
"package": {
"name": "fguillot/picoFeed",
"version": "dev-master",
"source": {
"url": "https://github.com/fguillot/picoFeed",
"type": "git",
"reference": "origin/master"
}
}
}
],
"require": {
"fguillot/picoFeed": "dev-master"
}
}
【解决方案2】:
作为对@George 答案的补充,关于@DavidOliver 的comment,以下是您应该能够更改包安装目标的方式:
"repositories" : [
{
"type" : "package",
"package" : {
"name" : "vend0r/p4ckage",
"version" : "dev-master",
"type" : "foo-library",
"dist" : {
"url" : "https://github.com/vend0r/p4ckage.git",
"type" : "vend0r/p4ckage"
},
"source" : {
"url" : "https://github.com/vend0r/p4ckage.git",
"type" : "git",
"reference" : "origin/master"
}
}
}
]
...
"extra" : {
"installer-paths" : {
"libraries/footype" : [
"type:foo-library"
],
}
}
...
"require" : {
"vend0r/p4ckage" : "dev-master"
}