Windows上的Haskell-堆栈无法获取包索引

Windows上的Haskell-堆栈无法获取包索引,windows,haskell,haskell-stack,Windows,Haskell,Haskell Stack,我正在尝试在Windows上安装Haskell。下载安装程序并单击所有内容,然后尝试使用Stack安装程序包,并从所有内容都具有写访问权限的临时文件夹运行程序包: C:\t>stack install hfmt Using latest snapshot resolver: lts-8.3 Writing implicit global project config file to: C:\sr\global-project\stack.yaml Note: You can change

我正在尝试在Windows上安装Haskell。下载安装程序并单击所有内容,然后尝试使用Stack安装程序包,并从所有内容都具有写访问权限的临时文件夹运行程序包:

C:\t>stack install hfmt
Using latest snapshot resolver: lts-8.3
Writing implicit global project config file to: C:\sr\global-project\stack.yaml
Note: You can change the snapshot via the resolver field there.
Downloaded lts-8.3 build plan.
Fetching package index ...=.git""=="gui" was unexpected at this time.
C:\sr\indices\Hackage\git-update\all-cabal-hashes>@if ""--git-dir=.git""=="gui" @goto gui
Process exited with ExitFailure 255: C:\Program Files (x86)\Git\cmd\git.CMD --git-dir=.git fetch --tags
Failed to fetch package index, retrying.
removeDirectoryRecursive: permission denied (Access is denied.)
出了什么问题,我该如何解决?还是我应该忘记Stack而改用Cabal

尝试以管理员身份重新运行该命令。这一次的反应是即时的:

C:\t>stack install hfmt
Fetching package index ...=.git""=="gui" was unexpected at this time.
C:\sr\indices\Hackage\git-update\all-cabal-hashes>@if ""--git-dir=.git""=="gui" @goto gui
Process exited with ExitFailure 255: C:\Program Files (x86)\Git\cmd\git.CMD --git-dir=.git fetch --tags
Failed to fetch package index, retrying.
removeDirectoryRecursive: permission denied (Access is denied.)

您是否尝试以管理员身份运行cmd?即使您对该文件夹有写访问权,它也可能试图在系统文件夹中安装一些临时文件。@raket1111我没有尝试以管理员身份运行。你确定它不会让它破坏某些东西(以某种奇怪的方式修改程序文件夹)吗?我真的不知道,我的意思是它不应该破坏你的系统,因为我非常确定Stack不是恶意的:)但我不能保证任何事…@Rakete1111公平:)刚才试过了,发布结果。失败是由于git,“removeDirectoryRecursive:权限被拒绝(访问被拒绝。)”错误是一个转移视线的错误-任务在此之前已经失败,最有可能的情况是堆栈只是缓慢移动,然后无法删除git创建的目录。据我所知,如果在您的机器上找不到它,stack会很高兴地使用它自己的git版本,所以请尝试从路径中删除您安装的
git
。无论如何,您应该运行
堆栈更新-v
(正如我在另一个问题中所说的…)来实际查看发生了什么。您是否尝试以管理员身份运行cmd?即使您对该文件夹有写访问权,它也可能试图在系统文件夹中安装一些临时文件。@raket1111我没有尝试以管理员身份运行。你确定它不会让它破坏某些东西(以某种奇怪的方式修改程序文件夹)吗?我真的不知道,我的意思是它不应该破坏你的系统,因为我非常确定Stack不是恶意的:)但我不能保证任何事…@Rakete1111公平:)刚才试过了,发布结果。失败是由于git,“removeDirectoryRecursive:权限被拒绝(访问被拒绝。)”错误是一个转移视线的错误-任务在此之前已经失败,最有可能的情况是堆栈只是缓慢移动,然后无法删除git创建的目录。据我所知,如果在您的机器上找不到它,stack会很高兴地使用它自己的git版本,所以请尝试从路径中删除您安装的
git
。无论如何,您应该运行
堆栈更新-v
(正如我在另一个问题中所说的…)来实际查看发生了什么。