静的型付け関数型言語 PureScript の環境構築。【 WSL2/2021年9月 ver. 】
雨のしずくに
景色が映っている
しずくのなかに
別の世界がある― 大江健三郎『私という小説家の作り方』(新潮社)
前提
Ubuntu 20.04 LTS(WSL2)
PureScript 0.14.4
手順
以下の公式のドキュメントを参考に、PureScript の環境構築を行ってまいります。
Getting Started with PureScript
最初に PureScript をグローバルインストールします。
npm install -g purescript
❯ npm install -g purescript
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
/home/mumei/.nodenv/versions/14.17.3/bin/purs -> /home/mumei/.nodenv/versions/14.17.3/lib/node_modules/purescript/purs.bin
> purescript@0.14.3 postinstall /home/mumei/.nodenv/versions/14.17.3/lib/node_modules/purescript
> install-purescript --purs-ver=0.14.3
✔ Check if a prebuilt 0.14.3 binary is provided for linux (785ms)
✔ Download the prebuilt PureScript binary (992ms)
✔ Verify the prebuilt binary works correctly (140ms)
✔ Save the downloaded binary to the npm cache directory (328ms)
Installed to /home/mumei/.nodenv/versions/14.17.3/lib/node_modules/purescript/purs.bin 49.66 MB
Cached to /home/mumei/.cache/purescript-npm-installer-nodejs/content-v2/sha512/9f/2b 49.66 MB
+ purescript@0.14.3
added 153 packages from 88 contributors in 18.925s
path を通します。
ここで、npm install -g purescript
実行時のメッセージを見てみます。
すると、
Installed to /home/mumei/.nodenv/versions/14.17.3/lib/node_modules/purescript/purs.bin
とありますように、
/home/mumei/.nodenv/versions/14.17.3/lib/node_modules/purescript/purs.bin
に PureScript がインストールされたようです。
(ここは環境によって違うと思うので読み替えてください。)
したがって、この path を設定します。
export PATH="$HOME/.nodenv/versions/14.17.3/lib/node_modules/purescript/purs.bin:$PATH"
.zshrc を更新して path を反映します。
source ~/.zshrc
ここで任意のディレクトリを作成し、以下のコマンドを実行します。
spago init
すると、下記のようなファイル、ディレクトリがインストールされました。
さらに以下を実行します。
spago build
ここで、私の環境では、キャプチャのように、「依存している Prelude がない」というエラーが出たので、
サジェストどおり、
spago install prelude
でインストールしました。
再度、spago build
を実行し、spago test
を実行します。
module Test.Main where
import Prelude
import Effect (Effect)
import Effect.Class.Console (log)
main :: Effect Unit
main = do
log "🍝"
log "You should add some tests."
(すごい PureScript の syntax highlight が効く!!)
spago test
❯ spago test
[info] Build succeeded.
🍝
You should add some tests.
[info] Tests succeeded.
成功しました。これで、いったんは PureScript の導入は成功です。
ちなみに、🍝が文字化けするという場合もあるかと思います。
私の場合、Windows Terminal や Visual Studio Code で、CaskaydiaCove NF というフォントを設定しましたら、文字化けせずに、🍝が表示されました。
以上となります。
Discussion