![](/img/trans.png)
[英]cabal: how to automatically update the build-depends field in the .cabal file?
[英]What's the difference between `stack install NAME` and `NAME` in the build-depends of project.cabal file?
在项目的.cabal file
的build-depends:
部分下添加package_name
与在该项目的目录中执行stack install package_name
之间有什么区别?
stack install
只会安装包到适当的地方(在Stackage库当前快照数据库,在沙箱中./.stack-work
其他图书馆, ~/.local/bin
或系统的等价物为可执行文件)。 将库添加到build-depends
指定为项目的依赖项,并导致在下次执行stack build
时安装库。 如果您实际上在项目中使用库,则必须将其添加到build-depends
,否则您将无法构建项目(甚至无法使用stack ghci
来使用库)。
注意:从stack-0.1.3.1开始, stack install NAME
只是stack build --copy-bins NAME
的同义词stack build --copy-bins NAME
。 --copy-bins
选项告诉stack将任何可执行文件复制到~/.local/bin
。 如果您的包只是一个没有可执行文件的库,则stack install NAME
与stack build NAME
相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.