我下载了包的源文件(例如
test-framework
)来仔细查看它的架构,修改它以进行实验,并可能稍后做出贡献。
我下载了源代码,但遇到了不兼容性和大量编译器错误。
是否有关于如何正确获取源代码并使用 Haskell Stack 设置此类项目的分步过程?
我们可以从以下两个机会中进行选择:
感谢“抽烟的男人”...
设置您的主项目
解压应该获取源代码的包
stack unpack
将当前目录更改为创建的文件夹
cd <package>
初始化文件夹(创建文件
stack.yaml
)
stack init
修改主项目的
stack.yaml
,添加相对路径的包到packages
部分!!!
修改主项目的
package.yaml
,将带有约束的包的依赖项(例如 == 1.2.1
)添加到第dependencies
部分
删除 cabal 文件(此处
local-from-hackage-without-tarball.cabal
),如果有的话
在主文件夹中构建主项目
stack build
注意:此设置甚至可以在 ghci 中使用,只需输入
stack ghci
和 :reload
。
设置您的主项目
解压应该获取源代码的包
stack unpack
将当前目录更改为创建的文件夹
cd <package>
初始化文件夹(创建文件
stack.yaml
)
stack init
生成包代码的 tarball 文件
stack sdist
修改主项目的
stack.yaml
,添加相对路径的包到extra-deps
部分!!!
修改主项目的
package.yaml
,将带有约束的包的依赖项(例如 == 1.2.1
)添加到第dependencies
部分
删除 cabal 文件(此处
local-from-hackage-by-tarball.cabal
),如果有的话
在主文件夹中构建主项目
stack build
欲了解更多详情,请查看来源: 使用“stack”从源代码本地构建包
此外,对于这两种替代方案,您可以在这里找到完整的项目,其中模块
Random
导出附加功能。
GitHub: