使用 Stack 获取已用库的版本
Get version of used library with Stack
我有一个使用 Stack 构建的 Haskell 项目。
在我的 Cabal 文件中,我添加了一堆库作为依赖项,例如 tls。
是否有命令可以获取我的项目中使用的特定库的版本?
我从 stack.yaml
得知我正在使用解析器 lts-14.16
。因此,我可以访问 the page of this LTS on Stackage 并在那里查找我的库的版本号。但我希望有一种更直接的方法,即使用命令行来执行此操作。
stack ls dependencies
此命令列出当前项目的依赖项及其版本,如前所述here。它产生如下输出:
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
。
我有一个使用 Stack 构建的 Haskell 项目。
在我的 Cabal 文件中,我添加了一堆库作为依赖项,例如 tls。
是否有命令可以获取我的项目中使用的特定库的版本?
我从 stack.yaml
得知我正在使用解析器 lts-14.16
。因此,我可以访问 the page of this LTS on Stackage 并在那里查找我的库的版本号。但我希望有一种更直接的方法,即使用命令行来执行此操作。
stack ls dependencies
此命令列出当前项目的依赖项及其版本,如前所述here。它产生如下输出:
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
。