4

在项目的部分package_name下添加与在该项目的目录中执行有什么区别?build-depends:.cabal filestack install package_name

4

1 回答 1

4

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. 该--copy-bins选项告诉堆栈将任何可执行文件复制到~/.local/bin. 如果您的包只是一个没有可执行文件的库,stack install NAME则与stack build NAME.

于 2015-08-31T05:43:32.203 回答