Open1

WSL2のUbuntu24.04にGleam v1.11.1をインストールした

Endo ShogoEndo Shogo

WSL2のUbuntu24.04LTSにGleamをインストールしたので手順メモ

環境

やったこと

  1. miseをインストール
  2. mise use -g gleam
  3. mise use -g erlang
  4. Gleamのプロジェクトを作ってtestを実行する

1. miseをインストール

Gleamはaptパッケージからインストールできません(多分)
Gleam公式はLinuxへのインストールはHomebrewかasdfを推奨しているため、今回はasdfと互換性があるmiseを使います。

Gleamのインストールページ
https://gleam.run/getting-started/installing/

mise公式ページ
https://mise.jdx.dev

Ubuntuへのmiseのインストール手順は次の通りになります(公式から引用)
unameではx86_64と出ていましたが、実際にやってみるとCPUアーキテクチャがamd64の判定になっていたので、amd64用のパッケージをインストールします。

sudo apt update -y && sudo apt install -y gpg sudo wget curl
sudo install -dm 755 /etc/apt/keyrings
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list
sudo apt update
sudo apt install -y mise
(mise公式からコマンドを引用: https://mise.jdx.dev/installing-mise.html#apt)

コマンドが成功したらアクティベートします。

# インストールパスの確認
$ which mise
/usr/bin/mise

# アクティベート用のコマンドを.bashrcに追記
# https://mise.jdx.dev/installing-mise.html#bash を参考
$ echo 'eval "$(/usr/bin/mise activate bash)"' >> ~/.bashrc

# .bashrc再読み込み
source ~/.bashrc

# mise doctorが成功したらOK
$ mise doctor
()
No problems found

2. mise use -g gleam

miseのインストールができたらgleamをインストールします

$ mise use -g gleam
mise gleam@1.11.1 ✓ installed
mise ~/.config/mise/config.toml tools: gleam@1.11.1

# バージョン確認
$ gleam --version
gleam 1.11.1

3. mise use -g erlang

次にerlangもインストールします。
Gleam公式ページではUbuntuへのerlangのインストールにはdebパッケージの追加などが紹介されていますが、erlangもmiseでインストールしてしまいます。

$ mise use -g erlang
mise erlang@28.0.1 install                                                                                                Getting releases from GitHub...
()
WARNING: [packages] Probe failed for automake (distro: ubuntu): probe "dpkg-query -Wf'${db:Status-abbrev}' "automake" 2>/dev/null | \grep -q '^i'" returned 1
WARNING: [packages] Probe failed for autoconf (distro: ubuntu): probe "dpkg-query -Wf'${db:Status-abbrev}' "autoconf" 2>/dev/null | \grep -q '^i'" returned 1
WARNING: [packages] Probe failed for libssl-dev (distro: ubuntu): probe "dpkg-query -Wf'${db:Status-abbrev}' "libssl-dev" 2>/dev/null | \grep -q '^i'" returned 1
WARNING: [packages] Probe failed for libncurses-dev (distro: ubuntu): probe "dpkg-query -Wf'${db:Status-abbrev}' "libncurses-dev" 2>/dev/null | \grep -q '^i'" returned 1
mise erlang@28.0.1 install                                                                                                ERROR: configure failed.
(後略)

どうやら依存パッケージが不足していてインストールが失敗したようなので依存パッケージもインストールします。

$ apt install automake autoconf libssl-dev libncurses-dev

再度インストールコマンドを実行

$ mise use -g erlang
()
mise erlang@28.0.1 ✓ installed                                                                                         mise ~/.config/mise/config.toml tools: erlang@28.0.1

# インストール確認
$ erl
Erlang/OTP 28 [erts-16.0.1] [source] [64-bit] [smp:24:24] [ds:24:24:10] [async-threads:1] [jit:ns]

Eshell V16.0.1 (press Ctrl+G to abort, type help(). for help)
1> 
  1. Gleamのプロジェクトを作ってtestを実行する

最後にGleamのプロジェクトを作って動作するか確認します(testまで)

$ gleam new sample
Your Gleam project sample has been successfully created.
The project can be compiled and tested by running these commands:

	cd sample
	gleam test

$ cd sample; gleam test
  Resolving versions
Downloading packages
 Downloaded 2 packages in 0.28s
  Compiling gleam_stdlib
  Compiling gleeunit
  Compiling sample
   Compiled in 1.50s
    Running sample_test.main
.
1 tests, no failures