Composer не может загрузить форк из пакета

Я изо всех сил пытаюсь загрузить вилку для пакета с композитором. Я пытаюсь интегрировать Swaggervel, пакет Swagger для Laravel 5, в свой проект. В текущем dev-master есть ошибка, которая вызывает несовместимость с laravel 5.

НО есть форк на github https://github.com/mvpasarel/swagger-laravel, который исправляет эту проблему.

Итак, вот как я пытаюсь указать на ответвление в моем файле composer.json.

"repositories": [
{
  "type": "vcs",
  "url": "https://github.com/mvpasarel/swagger-laravel"
}],

"require": {
    "laravel/framework": "5.0.*",
    "phpunit/phpunit": "~4.5",
    "jlapp/swaggervel": "dev-master"
}, ...

Я прочитал много постов в разных сообществах, чтобы понять, как добиться желаемого. Пока это мой лучший вариант, но, к сожалению, в моей папке vendor/project/ я все еще вижу «старый исходный код» из jlapp/swaggervel, а не обновленный исходный код из mvpasarel/swagger-laravel.

Просто для завершения вот часть моего composer.lock

{
        "name": "jlapp/swaggervel",
        "version": "dev-master",
        "source": {
            "type": "git",
            "url": "https://github.com/mvpasarel/swagger-laravel.git",
            "reference": "6e75f294ffa65823247e1f9f9f88402a75aa14f5"
        },
        "dist": {
            "type": "zip",
            "url": "https://api.github.com/repos/mvpasarel/swagger-laravel/zipball/6e75f294ffa65823247e1f9f9f88402a75aa14f5",
            "reference": "6e75f294ffa65823247e1f9f9f88402a75aa14f5",
            "shasum": ""
        },
        "require": {
            "php": ">=5.3.0",
            "zircote/swagger-php": "*"
        },
        "type": "library",
        "autoload": {
            "psr-0": {
                "Jlapp\\Swaggervel": "src/"
            }
        },
        "license": [
            "MIT"
        ],
        "authors": [
            {
                "name": "jlapp",
                "email": "[email protected]"
            }
        ],
        "description": "A great way to integrate Swagger into Laravel",
        "keywords": [
            "laravel",
            "swagger"
        ],
        "support": {
            "source": "https://github.com/mvpasarel/swagger-laravel/tree/master"
        },
        "time": "2014-11-20 21:43:03"
    },

Любая идея, что я делаю неправильно? Благодарю вас!


person Christoph Beger    schedule 22.02.2015    source источник
comment
Вы пытались удалить файл блокировки, файл install.json, каталог пакета, а затем обновить?   -  person guessimtoolate    schedule 22.02.2015
comment
Да, я пытался это несколько раз. Это не работает. Он будет загружать только исходный источник, а не источник. Я также следую этой статьи, но нет решение.   -  person Christoph Beger    schedule 22.02.2015


Ответы (1)


Вот как вы должны загрузить вилку:

композитор.json:

{   
  "repositories": [
    {
      "type": "git",
      "url": "[email protected]:mvpasarel/swagger-laravel.git"
    }   
   ],    
   "require": {
    "laravel/framework": "5.0.*",
    "jlapp/swaggervel": "dev-laravel5"   
   }
}

Вам нужно будет добавить репозиторий "url": "[email protected]:mvpasarel/swagger-laravel.git" ветки и сохранить имя исходного пакета, но добавить "dev-" + имя ветки ветки, которую вы хотите загрузить, в этом случае: "jlapp/swaggervel": "dev-laravel5"

Вот как я его использую, дайте мне знать, если это сработает для вас.

person mvpasarel    schedule 23.02.2015
comment
Спасибо mvpasarel! Это сработало. Я мог бы включить вилку. К сожалению, я не могу запустить php artisan config:publish jlapp/swaggervel. config:publish — неизвестный метод, и мой файл swagger.json в папке документов не создается. Есть идеи, почему? - person Christoph Beger; 24.02.2015
comment
В Laravel 5 команда config:publish заменена на vendor:publish. Вы должны запустить php artisan vendor:publish --provider="path/to/SwaggervelServiceProvider" - person mvpasarel; 24.02.2015
comment
Хорошо, это работает. Но файл JSON не создается. Для маршрута /docs я получаю и NotFoundHttpException, говоря, что /storage/docs/api-docs.json не существует и на самом деле его не существует. Почему не создается? я что-то упускаю? Папка хранения доступна для записи. - person Christoph Beger; 24.02.2015
comment
Для меня работает хорошо. Я думаю, что это проблема, связанная с Laravel или что-то в этом роде. Вот о чем я думаю: 1) Добавили ли вы: 'Jlapp\Swaggervel\SwaggervelServiceProvider' в конец config/app.php:providers 2) Что вы увидите, если запустите php artisan route:list? Что-нибудь связано с docs/{page?} или api-docs? - person mvpasarel; 24.02.2015
comment
Давай перенесем это в приват, добавь меня в скайп: woazala. Я пойду с вами через конфигурацию пакета, хорошо? - person mvpasarel; 24.02.2015
comment
Swaggervel теперь поддерживает Laravel 5. - person Jordan Lapp; 01.05.2015