如何使用堆栈处理单个文件?

问题描述 投票:3回答:1

当我使用单个文件haskell代码,没有项目时,我只能依赖于base包并导入它的模块,但是当我想从其他包中导入模块时,我必须创建一个新项目并编辑它的package.yaml和将项目添加到dependencies中,这些作品对于单个文件来说太重了。

我可以将我最常用的dependencies列表放到某处,这样当我通过stack exec -- ghci my-file.hs加载单个文件时,它会正确找到我导入的模块吗?

haskell haskell-stack
1个回答
2
投票

有几个选择:

  • The --package flag,用于临时调用;
  • The global project(另见this answer),一个位于~/.stack/global-project/stack.yaml(或操作系统的相应路径)的默认配置,在实际项目之外工作时启动;和
  • Stack scripts,相当于在源文件顶部放置一个指定堆栈调用的标头,如本例中从文档中获取的... #!/usr/bin/env stack {- stack script --resolver lts-6.25 --package turtle --package "stm async" --package http-client,http-conduit -} ......当你想要便携的东西时,它们很有用。
© www.soinside.com 2019 - 2024. All rights reserved.