2013-07-31 1 views
6

У меня есть проект Laravel, который я бы хотел использовать с помощью своей собственной вилки (которая объединила пару запросов pull-запросов). Следующий composer.json работает, как ожидалось (он выбирает главный филиал моего репо):Требуется вилка с композитором, которую должны использовать другие зависимости

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "http://github.com/rmasters/framework" 
     } 
    ], 
    "require": { 
     "php": "5.4.*", 
     "laravel/framework": "dev-master" 
    }, 
    ... 
    "minimum-stability": "dev" 
} 

Однако, когда я добавить пакет, который зависит от компонентов ILLUMINATE предоставленных Laravel (например, zizaco/entrust, который требует тех же версии как это предусмотрено вилкой) я в конечном итоге с чем-то вроде этого:

  • Установка gexge/Laravel-рамочный (4.0.x-DEV 87556b2)
  • Reading .../Композитор/кэш/файлы/gexge/framework/87556b ..... c382.zip из кеша
  • Загрузка из кэша
  • архивом

  • ПРИЧИНА: zizaco/доверьте DEV-мастер требует освещения/поддержки 4.0.x -> выполнима по

    • Laravel/рамочный [v4. 0,5, v4.0.4, v4.0.3, v4.0.2, v4.0.1, v4.0.0-BETA4, v4.0.0-BETA3, v4.0.0-BETA2, v4.0.0, 4.0.x-dev],
    • gexge/framework [4.0.x-dev, v4.0.0 , v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5],
    • креветки/ларавел-каркас [4.0.x-dev, v4.0.0, v4.0.0-BETA2, v4.0.0-BE TA3, v4.0.0-BETA4, v4.0.5],
    • подсветка/поддержка [4.0.x-dev, v4.0.0, v4.0.0-BETA2, v4.0.0-BETA3, v4.0.0-BETA4, v4.0.1, v4.0.2, v4.0.3, v4.0.4, v4.0.5].

Который фактически заканчивается как с вилкой и этой вилкой установлена, с gexge вилкой, имеющей приоритет в заряжания.

Есть ли способ иметь зависимости забрать мою вилку, а не пытаться найти другую? У моей вилки одинаковое имя пакета (композитор.json не был изменен) - поэтому я предположил, что это сработает.

В качестве альтернативы, можно ли заблокировать определенные пакеты от выбора? (Я не нашел никаких документов для этого.) Раздражающе, ни одна из вилок, похоже, не имеет большого основания быть на Packagist в первую очередь, но я думаю, что Composer должен иметь возможность обойти это.

ответ

10

У вашей вилки есть ответвление-алиас для главного набора на 4.1.x-dev, поэтому оно не соответствует требованиям 4.0.*.

Решение псевдоним пакета, требуя его как этот

{ 
    "repositories": [ 
     { 
      "type": "vcs", 
      "url": "http://github.com/rmasters/framework" 
     } 
    ], 
    "require": { 
     "php": "5.4.*", 
     "laravel/framework": "dev-master as 4.0.0" 
    }, 
    ... 
    "minimum-stability": "dev" 
} 

И действительно эти вилки не должны быть на Packagist, я буду связаться с владельцами.

+0

Гений, спасибо Jordi! – Ross

+0

Я все еще получаю это, хотя вилка с креветками больше не на Пакагисте, так или иначе? –

+1

ВЫ СДЕЛАЛИ МОЮ ЖИЗНЬ – alex

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