Получить версию используемой библиотеки с помощью Stack

У меня есть проект Haskell, созданный с помощью Stack.

В моем файле Cabal я добавил несколько библиотек в качестве зависимостей, например, tls.

Есть ли команда для получения версии конкретной библиотеки, используемой в моем проекте?

Из stack.yaml я знаю, что использую распознаватель lts-14.16. Поэтому я мог посетить страницу этого LTS в Stackage и найти номер версии моей библиотеки там. Но я надеюсь, что есть более простой способ сделать это с помощью командной строки.


person Matthias Braun    schedule 28.06.2020    source источник


Ответы (1)


stack ls dependencies

Эта команда перечисляет зависимости и их версии текущего проекта, как указано здесь < / а>. Результат будет примерно таким:

StateVar 1.2
aeson 1.4.6.0
ansi-terminal 0.9.1
array 0.5.3.0
asn1-encoding 0.9.6
asn1-parse 0.9.5
asn1-types 0.3.3
async 2.2.2
attoparsec 0.13.2.3
base 4.12.0.0

Используйте grep, чтобы выбрать интересующую вас библиотеку. в:

stack ls dependencies 2>/dev/null | grep "^tls"

Мы используем 2>/dev/null, чтобы заглушить любые предупреждения, которые Stack может выдавать относительно проекта.

Если вы хотите пойти дальше и визуализировать свои зависимости, например, в виде графика или дерева, используйте stack dot .

person Matthias Braun    schedule 28.06.2020