[Haskell] GHCupのインストール

インストール

Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true } catch { Write-Error $_ }
  • インストールの可否などについて問われるので答える。HLS や stack もインストールすることにする。
Continue with GHCup installation?
[C] Continue  [A] Abort  [?] ヘルプ (既定値は "C"): C

Where to install to (this should be a short Path, preferably a Drive like 'C:\')?
If you accept this path, binaries will be installed into 'C:\ghcup\bin' and msys2 into 'C:\ghcup\msys64'.
Press enter to accept the default [C:\]:

Specify Cabal directory (this is where haskell packages end up)
Press enter to accept the default [C:\\cabal]:

Install HLS
Do you want to install the haskell-language-server (HLS) for development purposes as well?
[Y] Yes  [N] No  [A] Abort  [?] ヘルプ (既定値は "N"): Y

Install stack
Do you want to install stack as well?
[Y] Yes  [N] No  [A] Abort  [?] ヘルプ (既定値は "N"): Y

Create Desktop shortcuts
Do you want to create convenience desktop shortcuts (e.g. for uninstallation and msys2 shell)?
[Y] Yes  [N] No  [A] Abort  [?] ヘルプ (既定値は "Y"): Y
First checking for Msys2...

Install MSys2
Do you want GHCup to install a default MSys2 toolchain (recommended)?
[Y] Yes  [N] No  [?] ヘルプ (既定値は "Y"): Y
  • MinGW x64のターミナルが起動して下記のメッセージが出たらインストール完了。
All done!

In a new powershell or cmd.exe session, now you can...

Start a simple repl via:
  ghci
Start a new haskell project in the current directory via:
  cabal init --interactive
To install other GHC versions and tools, run:
  ghcup tui

To install system libraries and update msys2/mingw64,
open the "Mingw haskell shell"
and the "Mingw package management docs"
desktop shortcuts.

If you are new to Haskell, check out https://www.haskell.org/ghcup/steps/
Press any key to exit

実行

  • ghci、runghc、ghc の実行は、stack を付けずに実行できる。(下記の参考記事を参照)
ghci
runghc hello.hs
ghc hello.hs
  • プロジェクトの作成には stack を使える。(下記の参考記事を参照)

stackもインストールした場合

こちらも参照

参考