2012-05-21 4 views
48

Предположим, я пишу библиотеку A, которая зависит от другой библиотеки, например, монолога.composer: Как найти точную версию пакета?

Я хочу, чтобы установить последнюю версию монолога, так что я просто положить эту внутреннюю composer.json:

{ 
    "require": { 
     "monolog/monolog": "*.*.*" 
    } 
} 

Тогда я бегу $ php composer.phar install.

Я ожидал найти установлена ​​версия, внутри composer.lock, но это не было:

{ 
    "hash": "d7bcc4fe544b4ef7561918a8fc6ce009", 
    "packages": [ 
     { 
      "package": "monolog/monolog", 
      "version": "dev-master", 
      "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7" 
     } 
    ], 
    "packages-dev": null, 
    "aliases": [ 

    ], 
    "minimum-stability": "dev", 
    "stability-flags": [ 

    ] 
} 

мне нужна версия, потому что я хочу, чтобы связать свою библиотеку с определенным набором вариантов, например: Если я считаю, версия 1.3.5, в моем composer.json я хотел бы поставить что-то вроде этого:

"require": { 
     "monolog/monolog": "1.3.*" 
    } 

Любые идеи?

ответ

-1

Вы можете найти их на github.

композитор в настоящее время на 1.1.0 https://github.com/Seldaek/monolog/tags

Просто возьмите тег вы думаете, то, что вам нужно иметь.

+3

автор вопроса хочет знать, какая версия библиотеки была установлена ​​композитором в его проекте, а не последняя версия библиотеки. – aalaap

1

Технически «dev-master» - это точная версия, в которой вы оказались там. Это ветка развития, и, следовательно, самая последняя версия.

Лучшее место для поиска доступных версий для композиционных пакетов - Packagist, так как это композитор места загружает версии с момента установки пакетов. Монологические версии перечислены на http://packagist.org/packages/monolog/monolog.

99

Я знаю, что это старый вопрос, но ...

composer.phar show 

Покажет все установленные пакеты и их информацию о версии. (Это было показано в предыдущих версиях Composer только при использовании ныне устаревшее -i вариант.)

Чтобы увидеть более подробную информацию, указать имя пакета, а также:

composer.phar show monolog/monolog 

Это покажет много вещей , включая хеш-код MD5, URL-адрес источника, тип лицензии и т. д.

+9

'php composer.phar show -a' и' php composer.phar show package/name' также полезны. – bishop

+0

Для пакетов 'dev-master' это полезно, так как в нем также отображается хеш фиксации. Поэтому вам нужно перейти в GitHub, найти хеш фиксации, проверить дату, а затем найти тег с ближайшей датой до этого, чтобы действительно узнать, какую «версию» вы используете – andrewtweber

+1

, ее также можно найти в composer.lock файл. – Hafiz

1

Его очень старый вопрос, но, добавив ответ, чтобы он мог помочь кому-то, , вы также можете проверить его онлайн, загрузив композитор.josn и composer.lock файл

http://www.drcomposer.com

Надеюсь, это может кому-то помочь.

5

Вы можете использовать композитор шоу, как это:

composer show package/name 
+0

Это не дает ответа на вопрос. Когда у вас будет достаточно [репутации] (https://stackoverflow.com/help/whats-reputation), вы сможете [прокомментировать любое сообщение] (https://stackoverflow.com/help/privileges/comment); вместо этого [предоставить ответы, которые не требуют разъяснений у аськи) (https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can- я-делать-вместо этого). - [Из обзора] (/ review/low-quality-posts/17661951) –

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