1. 程式人生 > 實用技巧 >windows10下Haskell環境搭建2020

windows10下Haskell環境搭建2020

1. 安裝 stack

1) 下載對應的 install.exe 安裝 stack

https://docs.haskellstack.org/en/stable/README/

2) 更改映象源

cmd > stack install 生成c:/sr 這個資料夾

c:/sr/config.yaml 根據映象源的要求修改stack的源

https://mirrors.tuna.tsinghua.edu.cn/help/hackage/

https://mirrors.tuna.tsinghua.edu.cn/help/stackage/

setup-info-locations: ["http://mirrors.tuna.tsinghua.edu.cn/stackage/stack-setup.yaml"]
urls:
  latest-snapshot: http:
//mirrors.tuna.tsinghua.edu.cn/stackage/snapshots.json package-indices: - download-prefix: http://mirrors.tuna.tsinghua.edu.cn/hackage/ hackage-security: keyids: - 0a5c7ea47cd1b15f01f5f51a33adda7e655bc0f0b0615baa8e271f4c3351e21d - 1ea9ba32c526d1cc91ab5e5bd364ec5e9e8cb67179a471872f6e26f0ae773d42 - 280b10153a522681163658cb49f632cde3f38d768b736ddbc901d99a1a772833 - 2a96b1889dc221c17296fcc2bb34b908ca9734376f0f361660200935916ef201 - 2c6c3627bd6c982990239487f1abd02e08a02e6cf16edb105a8012d444d870c3 - 51f0161b906011b52c6613376b1ae937670da69322113a246a09f807c62f6921 - 772e9f4c7db33d251d5c6e357199c819e569d130857dc225549b40845ff0890d - aa315286e6ad281ad61182235533c41e806e5a787e0b6d1e7eef3f09d137d2e9 - fe331502606802feac15e514d9b9ea83fee8b6ffef71335479a2e68d84adc6b0 key-threshold:
3 # number of keys required # ignore expiration date, see https://github.com/commercialhaskell/stack/pull/4614 ignore-expiry: no

儲存後,再次 stack setup 即可下載 ghc

3)遇到 “raw.Githubusercontent.com” 無法連線

安裝過程中,若遇到 raw.Githubusercontent.com 的連線問題,需先查詢其 ip,加入 C:\windows\system32\etc\hosts下的hosts

2. 安裝 vscode 的 alanz.vscode-hie-server 外掛

1) stack 安裝外掛支援版本的 ghc

stack path 查詢相關路徑

stack ghc -- --version 查詢 ghc 版本

https://github.com/alanz/vscode-hie-server 中可查到該外掛支援的 ghc 版本

如果當前使用的 ghc 不在表中,

stack --resolver ghc-XXX setup 指定安裝 XXX 版本的 ghc

stack config set resolver ghc-XXX 指定 resolver 將當前使用的 ghc 切換成 XXX 這個版本

2) VSCode中安裝外掛

在 vscode 中直接安裝 vscode-hie-server 外掛,vscode 將自動下載

haskell-language-server-XXX.exe

haskell-language-server-wrapper-XXX.exe

%APPDATA%\Code\User\globalStorage\alanz.vscode-hie-server 路徑下

若沒有自動下載,根據 vscode 提示 檢視,是 raw .. 的 ip 未設定,還是 ghc 的版本不對