За последние 24 часа нас посетили 22566 программистов и 1040 роботов. Сейчас ищет 631 программист ...

Как работает branch-alias в композере?

Тема в разделе "Версионность, тестирование и развёртывание", создана пользователем pircul, 15 янв 2019.

  1. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Есть такой файлик composer.json
    Код (Text):
    1. {
    2.     "name": "hello-world",
    3.     "require": {
    4.     "monolog/monolog" : "dev-master",
    5.         "ext-bz2": "^0.0.0"
    6.     },
    7. "extra": {
    8.         "branch-alias": {
    9.             "dev-master": "^1.2.3"
    10.         }
    11.     }
    12. }
    Я предполагаю что указав branch-alias в extra, composer будет использовать для пакета monolog/monolog ту версию которую я указал для алиаса, то есть ^1.2.3. Но этого не происходит. Почему? Может я не так понимаю как работают алиасы?

    В этом файле так же есть dev-, что это означает? Читал что какой то префикс, но какие конкретно задачи он выполняет и есть ли другие префиксы (и вообще, это префиксы о которых знает композер или можно использовать любой?)
     
  2. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    @pircul, как написано в мануале, ^1.2.3 означает >=1.2.3 <2.0.0
    Там-же есть прочая информация про конфигурацию composer
     
  3. pircul

    pircul Активный пользователь

    С нами с:
    14 янв 2014
    Сообщения:
    100
    Симпатии:
    0
    Спасибо, но это мне известно.
    Проблема в том что я не могу понять как работают алиасы.
    Если написать версию сразу там где сейчас dev-master, то есть если сделать так: "monolog/monolog" : "^1.2.3" то все работает
    А если использовать алиас то пакет не ставится (точнее, композер пытается загрузить более свежую версию которая не является подходящей для моей рабочей среды)