2015-05-03 4 views
1

Я тестирую новую версию 5.1 Laravel Framework.Как разрешить конфликты требований композитора?

И я хочу установить знаменитый пакет barryvdh/laravel-ide-helper.

A знайте, что проблема: barryvdh/laravel-ide-helper требуется illuminate/filesystem: 5.0.x и laravel/framework требуется illuminate/filesystem: 5.1.x.

Как настроить файл composer.json?

Примечание: У меня есть и "prefer-stable": true в моем файле composer.json.

На установке, я получаю эту ошибку:

Problem 1 
    - Conclusion: remove laravel/framework 5.1.x-dev 
    - barryvdh/laravel-ide-helper 2.0.x-dev requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.4]. 
    - barryvdh/laravel-ide-helper v2.0.0 requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.4]. 
    - barryvdh/laravel-ide-helper v2.0.1 requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.4]. 
    - barryvdh/laravel-ide-helper v2.0.2 requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.4]. 
    - barryvdh/laravel-ide-helper v2.0.3 requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, v5.0.0, v5.0.22, v5.0.25, v5.0.26, v5.0.28, v5.0.4]. 
    - don't install illuminate/filesystem 5.0.x-dev|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.0|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.22|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.25|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.26|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.28|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem v5.0.4|don't install laravel/framework 5.1.x-dev 
    - Installation request for laravel/framework 5.1.* -> satisfiable by laravel/framework[5.1.x-dev]. 
    - Installation request for barryvdh/laravel-ide-helper ^[email protected] -> satisfiable by barryvdh/laravel-ide-helper[2.0.x-dev, v2.0.0, v2.0.1, v2.0.2, v2.0.3]. 

Я попробовал все ниже команды с теми же результатами ...

$ composer require barryvdh/laravel-ide-helper, 
$ composer require barryvdh/laravel-ide-helper:@dev --dev 
$ composer require barryvdh/laravel-ide-helper --dev --update-with-dependencies 

Я пытался также создать один псевдоним на composer.json файла :

"require": { 
    "laravel/framework": "5.1.*", 
    "illuminate/filesystem": "5.1.x-dev as 5.0.28" 
}, 

И тогда эта ошибка:

Problem 1 
    - Installation request for barryvdh/laravel-ide-helper dev-master -> satisfiable by barryvdh/laravel-ide-helper[dev-master]. 
    - Conclusion: remove laravel/framework 5.1.x-dev 
    - Conclusion: don't install laravel/framework 5.1.x-dev 
    - barryvdh/laravel-ide-helper dev-master requires illuminate/filesystem 5.0.x -> satisfiable by illuminate/filesystem[5.0.x-dev, 5.0.28]. 
    - don't install illuminate/filesystem 5.0.x-dev|don't install laravel/framework 5.1.x-dev 
    - don't install illuminate/filesystem 5.0.28|don't install laravel/framework 5.1.x-dev 
    - Installation request for laravel/framework 5.1.* -> satisfiable by laravel/framework[5.1.x-dev]. 

И это мой composer.json файл:

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
     "laravel/framework": "5.1.*", 
     "illuminate/filesystem": "5.1.x-dev as 5.0.28" 
    }, 
    "require-dev": { 
     "phpunit/phpunit": "~4.0", 
     "phpspec/phpspec": "~2.1" 
    }, 
    "autoload": { 
     "classmap": [ 
      "database" 
     ], 
     "psr-4": { 
      "Portal\\": "app/" 
     } 
    }, 
    "autoload-dev": { 
     "classmap": [ 
      "tests/TestCase.php" 
     ] 
    }, 
    "scripts": { 
     "post-install-cmd": [ 
      "php artisan clear-compiled", 
      "php artisan optimize" 
     ], 
     "post-update-cmd": [ 
      "php artisan clear-compiled", 
      "php artisan optimize" 
     ], 
     "post-create-project-cmd": [ 
      "php -r \"copy('.env.example', '.env');\"", 
      "php artisan key:generate" 
     ] 
    }, 
    "config": { 
     "preferred-install": "dist" 
    }, 
    "minimum-stability": "dev", 
    "prefer-stable": true 
} 

ответ

0

Я решил с одним псевдонимом в моем composer.json файле:

"require": { 
    "laravel/framework": "5.1.x-dev as 5.0.28" 
}, 

Так, Laravel/рамки имеют "illuminate/filesystem": "5.1.x-dev" и barryvdh/laravel-ide-helper думает, что у "illuminate/filesystem": "5.0.28"

Мой первый подход:

"require": { 
    "laravel/framework": "5.1.*", 
    "illuminate/filesystem": "5.1.x-dev as 5.0.28" 
}, 

это не работает, потому что illuminate/filesystem это используется в качестве поддерева на laravel/framework, а затем я должен установить псевдоним для laravel/framework вместо illuminate/filesystem.

+0

Также Barry vd. Heuvel теперь разрешил L5.1 в composer.json для этого пакета. Поэтому, если вам требуется [email protected] для этого, он должен работать сейчас. –

0

Ядро проблемы связана с чрезмерно ограничительной версией ограничения на 5.0.x. Я не знаю, есть ли веские причины для этого или нет.

Один из вариантов будет раскошелиться laravel-ide-helper в свой собственный репозиторий, изменить версию ограничения на что-то вроде ^5.0 (и, возможно, имя пакета), а также добавить свой раздвоенный репозиторий в качестве хранилища мерзавца в файле composer.json. Это позволит вам хотя бы увидеть, работает ли он так, как ожидалось.

0

Проблема заключается в том, что вы установили Laravel 5.1 (какой из них по-прежнему нестабилен, я бы не рекомендовал использовать его atm), а пакет требует 5.0. *.

Есть несколько решений:

  • Создать проблему в Laravel язь хелперов хранилища, спрашивая автор, чтобы облегчить версии ограничения. Имейте в виду, что эта библиотека очень тесно связана с этой версией, вероятно, поэтому ограничение версии настолько строгое.
  • Не устанавливайте нестабильную версию 5.1, но придерживайтесь 5.0 и используйте 5.1, когда она будет выпущена, и пакет будет обновлен.
+0

Спасибо, я знаю, что версия 5.1 нестабильна, но я хочу проверить их. Я также открыл одну проблему на странице garhub larvel ide helper. Сегодня я только тестирую, но завтра, возможно, у меня есть аналогичная проблема для одного клиентского приложения, и именно поэтому я прошу об устранении этих конфликтов. –

Смежные вопросы