Как вы получаете композитор для установки не-композиторского пакета?
Я пытаюсь заставить композитора загрузить следующую библиотеку из этого проекта, однако в нем нет файла composer.json
, поэтому я не уверен, что это возможно.
{
"require" : {
"fguillot/picoFeed" : "*"
},
"repositories": [
{
"type": "vcs",
"url": "https://github.com/fguillot/picoFeed"
}
]
}
Ошибка:
[Composer\Repository\InvalidRepositoryException]
Недействительный композитор .json был найден в любом филиале или теге https://github.com/fguillot/picoFeed, не удалось загрузить пакет от него.
Ответы
Ответ 1
Чтобы включить репозиторий не-композитор, вам необходимо создать репозиторий пакетов. Что даст вам что-то вроде:
{
"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, касающегося comment из @DavidOliver, здесь вы можете изменить цель установки пакета:
"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"
}