在Windows电脑上安装Haskell/Chocolatey/VSCode/Git
转载翻译自:https://cs.anu.edu.au/courses/comp1100/resources/install/
Chocolatey
-
在开始之前: Chocolatey安装过程中失败,再安装报错的解决办法: https://blog.csdn.net/zdhsoft/article/details/115376094
-
打开https://chocolatey.org/install
-
打开powershell
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/ -
运行:
Get-ExecutionPolicy。
,期望返回Unrestricted
。 -
如果返回
Restricted
,则运行:Set-ExecutionPolicy Unrestricted
,按Y
。 -
重启powershell,运行:
Get-ExecutionPolicy。
,期望返回Unrestricted
。 -
运行:(以下命令全部复制 再Enter)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
-
如果没有看到任何错误,则可以使用Chocolatey!键入
choco
查看版本!
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/ -
运行
choco install -y msys2
安装其他构建某些haskell库所需的工具。可能挂个vpn会快一点!下载时timeout可以尝试通过以下命令修改时间上限
choco install -y msys2 --execution-timeout 270000
默认好像是40000
.在国内下载实在慢的同学可以打开
打开C:\tools\msys64\etc\pacman.d
修改镜像, 可以直接从清华服务器下载:
用记事本打开并编辑 mirrorlist.mingw32
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/i686
用记事本打开并编辑 mirrorlist.mingw64
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
用记事本打开并编辑 mirrorlist.msys
,在文件开头添加:
Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/msys/$arch
然后执行 pacman -Sy
刷新软件包数据即可。
-
在powershell种输入
C:\tools\msys64\msys2.exe
打开一个MSYS终端,然后在该窗口中运行pacman -Syuu
。完成后关闭MSYS窗口。
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/ -
安装GHC!运行
choco install -y ghc --version 8.6.5
以安装GHC。如果choco经常timeout的同学可以尝试方法一&二。
方法一:
要是下载太慢timeout的话, 可以修改时间上限choco install -y ghc --version 8.6.5 --execution-timeout 270000
默认好像是40000
.
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/
方法二:
- msys2改到清华镜像:
一般在C:\tools\msys64\etc\pacman.d路径下有三个mirrorlist文件,分别打开并修改
具体修改内容见:https://mirrors.tuna.tsinghua.edu.cn/help/msys2/ - 安装ghc见:https://gitlab.haskell.org/ghc/ghc/-/wikis/building/preparation/windows
- 虽然下载来源是同一个,但msys2会给你剩余时间预估,让你不至于苦苦等待 /手动狗头
- 最重要的是不会timeout哈哈哈
- msys2改到清华镜像:
-
运行
choco install -y vscode
以安装VSCode编辑器。关闭powershell窗口。
GHC设置
-
把cabal与ghc加进环境变量,作用是可以在terminal调用cabal与ghci:
桌面左下角有个搜索🔎,搜索环境变量
点击环境变量
双击path
点击新建,输入cabal\bin
的路径,我的在:C:\Users\你的用户名\AppData\Roaming\cabal\bin
。
点击新建,输入ghc-8.6.5\bin
的路径,我的在:C:\ProgramData\chocolatey\lib\ghc\tools\ghc-8.6.5\bin
。如果没有这个路径或者找不到ghc8.6.5.exe文件的,去GHC官网下载然后把压缩包解压到tools文件夹下。再把bin路径添加到环境变量里面。
注意:我的路径不一定是你的路径!而且cabal文件夹下没有bin子文件夹是正常的。
-
按Ctrl+R打开运行,输入
cmd
打开命令提示符。
运行cabal v2-update
。这将更新系统已知的haskell软件包列表。
运行cabal v2-install --install-method=copy ghcid
。这将安装ghcid-一种在保存时自动重新加载代码的工具,从而使检测和修复错误更加容易。
运行 cabal v2-install --install-method=copy doctest
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/
VSCode/VSCodium设置
- 启动VSCode或者VSCodium。
- 安装Haskell支持。选择“File > Preferences > Extensions”,搜索“haskell”,单击绿色“Install”按钮安装 “Haskell Syntax Highlighting” 和 “haskell-ghcid” Extension。
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/ - 在左下方,单击齿轮图标,然后单击“Setting”。使用下拉框将自动保存设置从“Off”更改为“ afterDelay”。
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/
图片出处:https://cs.anu.edu.au/courses/comp1100/labs/01/
最后安装一些包
- 打开命令提示符或终端(例如cmd.exe,在 Windows 开始菜单中,或在 Mac 上的 finder 中搜索“终端”)。您也可以从 vs-codium 中的终端运行这些命令。
- 运行
cabal v2-update
。这将更新您的系统知道的 haskell 包列表。 - 运行
cabal v2-install --install-method=copy ghcid
。这将安装 ghcid — 一种在您保存时自动重新加载代码的工具,从而更容易检测和修复错误。 - 运行
cabal v2-install --install-method=copy doctest
- 运行
cabal v2-install --install-method=copy codeworld-api --constraint 'codeworld-api < 0.6' --constraint 'codeworld-api > 0.4'
这将确保您拥有与课程材料兼容的 codeworld-api 版本。
安装Git
下载链接:https://git-scm.com/download
按步骤安装就行了,一般默认选项就可以,这里因为我们用的是vscode,可以选择vscode作为默认editor。
验证安装:
打开vscode,ctrl+shift+p
,若出现下方这么多选项则安装成功:
最后,记得git confige:
git config --global user.name "Your Name"
git config --global user.email yourEmail@email.com