无法在 VSCode 中编译第一个 Haskell 程序

Unable to compile first Haskell Programme in VSCode

我刚刚在 Windows 中安装了 Stack GHCI 和 Visual Studio 代码。我正在尝试构建 运行 第一个简单的 Haskell putStrln 程序,但编译失败。 在 VS Code 终端中,我输入: PS C:\Users\rmili\Documents> stack new TryHaskell 并创建了一个新文件夹“TryHaskell”,其中包含自动创建的文件“Lib.hs”和“Main.hs”

我尝试构建并 运行 hs 文件。但是我遇到了以下错误:

  1. 在新终端中,我输入PS C:\Users\rmili\Documents\TryHaskell> stack build后,会出现如下错误:
    Error Messages:
         "'C:\Users\rmili\AppData\Local\Programs\stack\x86_64-windows\ghc-8.8.4\bin\ghc-pkg.exe'
    exited with an error:
    ghc-pkg.exe: hLock: permission denied (Access is denied.)
    )"
  1. 在Main.hs和Lib.hs的顶部,module Main wheremodule Lib行下面都有卷曲线,错误信息:
    readCreateProcess: stack "exec" "ghc" "--" "-rtsopts=ignore" "-outputdir" "C:\Users\rmili\AppData\Local\Temp\hie-bios-98c9848bfed41b00" "-o" "C:\Users\rmili\AppData\Local\hie-bios\wrapper-4da94d68375fab32d2147da1837e9611.exe" "C:\Users\rmili\AppData\Local\hie-bios\wrapper-4da94d68375fab32d2147da1837e9611.hs" (exit 1): failedcompiler
    Peek Problem (Alt+F8)
    No quick fixes available

我的GHCI目录看起来没问题,如下图:

更新:杀毒软件似乎是我的问题,因为每当我尝试构建一个新的 hs 文件时,诺顿都会弹出一个消息,说数据保护程序已阻止 Haskell 的操作服务器。在我要求诺顿专门排除此类操作后,我可以成功编译并 运行 我的 hs 文件。

但是,问题是“module Main where”和“module Lib”下的卷曲线仍然存在。如何删除上面第 2) 点中所示的卷曲线及其相关的错误消息?

欢迎来到Haskell!

不幸的是,Haskell 在 Windows 上似乎有各种“权限被拒绝”的错误。 (https://gitlab.haskell.org/ghc/ghc/-/issues/2924)。我没有直接的解决方法建议,除了确保所有软件都是 up-to-date,尝试不同的配置,并尝试直接使用 ghc 构建而不使用 stack.

其他要尝试的事情包括确保您是 运行 管理员,并禁用防病毒软件。