dec*_*apo 2 haskell haskell-stack
假设我有两个项目(project-a和project-b),我想将项目 a 包含到项目 b 中,而不将项目 a 上传到堆栈。我怎样才能在本地发布包并将其包含到project-b中?
# package.yaml for project-b
dependencies:
- base >= 4.7 && < 5
- project-a == 2.0.0.0
Run Code Online (Sandbox Code Playgroud)
特别感谢@arrowd 为我指明了正确的方向。这是我问题的答案,但如果其他人有更好的答案,我会接受。
在项目a中运行命令
> stack sdist
Run Code Online (Sandbox Code Playgroud)
这会将您的项目打包成 tarball 并显示它所在的目录。
然后进入项目b ,在sectionstack.yaml下的文件中添加以下内容extra-deps
extra-deps:
- archive: /path/to/project-a/tar/file
Run Code Online (Sandbox Code Playgroud)
并在您的package.yaml文件中的依赖项下
dependencies:
# other dependencies
- project-a == 2.0.0.0
Run Code Online (Sandbox Code Playgroud)
然后运行
> stack build
Run Code Online (Sandbox Code Playgroud)
并且项目-a 将包含在项目-b 中。