无法在 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 文件。但是我遇到了以下错误:
- 在新终端中,我输入
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.)
)"
- 在Main.hs和Lib.hs的顶部,
module Main where
和module 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
.
其他要尝试的事情包括确保您是 运行 管理员,并禁用防病毒软件。
我刚刚在 Windows 中安装了 Stack GHCI 和 Visual Studio 代码。我正在尝试构建 运行 第一个简单的 Haskell putStrln 程序,但编译失败。
在 VS Code 终端中,我输入:
PS C:\Users\rmili\Documents> stack new TryHaskell
并创建了一个新文件夹“TryHaskell”,其中包含自动创建的文件“Lib.hs”和“Main.hs”
我尝试构建并 运行 hs 文件。但是我遇到了以下错误:
- 在新终端中,我输入
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.)
)"
- 在Main.hs和Lib.hs的顶部,
module Main where
和module 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
.
其他要尝试的事情包括确保您是 运行 管理员,并禁用防病毒软件。