Idris/cabal Windows 上的 removePathRecursive 安装问题

Idris/cabal install issues from removePathRecursive on Windows

使用说明在 Windows 10 上安装 Idris:

c:\Users\me\cabal update
c:\Users\me\cabal install idris

出现了几个依赖性错误,我按照 Idris 的说明盲目地应用了以下进一步的标志

----reinstall       
--avoid-reinstalls  
--force-reinstalls  
--upgrade-dependencies

进展使事情开始构建,我们一直在构建一个名为 idris-1.3.1\…\setup.exe 的临时目录 然后我们崩溃并出现以下错误:

C:\Users\me\AppData\Local\Temp\cabal-tmp-26128\idris-1.3.1\dist\setup: removeDirectoryRecursive:
…": unsatisfied constraints (The directory is not empty.)

谷歌搜索我发现这个相同的错误发生在 cabal 安装中,并记录为大量 GitHub 项目的问题。理论无处不在,没有提供解决方案。 removeDirectoryRecursive 上的 Haskell 文档提供了一条线索,结尾的注释是如果目录是符号 -link.

,则在 Windows 上失败

如何解决这个问题以完成安装?

您可以尝试使用 cabal new-buildcabal new-install,但我不确定这是否有效。

这主要是为了记录有效的步骤,感谢 Michael Sonyman 提供的主要提示。

要遵循的步骤。

  1. this
  2. 之后安装 Haskell(使用 Stack)
  3. 将配置文件的多行路径中的 , 替换为 ;,如@gergelybat 在
  4. 中所报告
  5. 通过检查 stack exec -- which make 检查您是否有 make 版本
    • 如果你得到 no make 然后安装 GnuWin32,
    • 确保(例如 c:\Program Files (x86)\GnuWin32\bin 的安装目录已添加到您的系统路径(遵循 "set environment variables")。
    • 重新启动 PowerShell/Command 提示,重试第 3 步,您应该会看到找到一个 make,如果没有重新检查您的步骤。
  6. 运行 stack install --resolver lts-12.26 idris ...这可能会很慢。最后将 Idris 编译器和其他项目复制到 C:\Users\you\AppData\Roaming\local\bin:
  7. 在提示符下输入 idris 进行测试,它应该加载 Idris REPL。

在余下的编程生活中享受依赖打字的乐趣。