Ответ 1
Кажется, вы можете определить vendor
dir как что-то еще (plugins
в вашем случае):
{
"config": {
"vendor-dir": "plugins"
}
}
Затем вы можете переименовать имя пакета, чтобы внутри не было уровня dir, например:
"package": {
"name": "sfGuardPlugin",
Итак, ваш composer.json
должен выглядеть так:
{
"config": {
"vendor-dir": "plugins"
},
"repositories": [
{
"type": "package",
"package": {
"name": "sfGuardPlugin",
"version": "4.0.2",
"dist": {
"url": "http://plugins.symfony-project.org/get/sfGuardPlugin/sfGuardPlugin-4.0.2.tgz",
"type": "tar"
}
}
}
],
"require": {
"sfGuardPlugin": "4.0.*"
}
}
Edit
Используя эту конфигурацию, вы получите путь (который, конечно, не подходит для symfony):
плагинов/sfGuardPlugin/sfGuardPlugin-4.0.2/
Я нашел обходное решение с этим composer.json
:
{
"config": {
"vendor-dir": "plugins"
},
"repositories": [
{
"type": "package",
"package": {
"name": "sfGuardPlugin",
"version": "4.0.2",
"source": {
"url": "http://svn.symfony-project.com/plugins/sfGuardPlugin/",
"type": "svn",
"reference": "branches/1.3/"
}
}
}
],
"require": {
"sfGuardPlugin": "4.0.*"
}
}