如何导入特定版本的模块

How to import a specific version of a module

我有一个项目,我想在其中使用 readCreateProcess(我需要能够将命令可移植地传递给带有输入的默认 shell 并读取其输出)。

然而,此功能仅在 process-1.2.3 中添加,我使用的其他几个软件包(所有最新版本)需要 process <=1.2

我想知道是否可以从较新的包中导入 readCreateProcess,同时仍然使用其他包。

我正在使用 ghc/cabal 进行构建和测试,如果这完全相关的话。

我意识到最快的事情就是分叉 process-1.4。然后我重命名了包 processnew 以及 System.ProcessNewSystem.CmdNew.

中的所有文件

然后我将其设置为子模块。

然后我安装了这个包,将 processnew >= 1.4 添加到我的 .cabal,并导入了 System.ProcessNew(readCreateProcess, shell)