Penyiapan lingkungan

Instalasi Elixir melalui panduan resmi serta pengelolaan versi dengan mise atau asdf.

Daftar isi

Elixir tidak berdiri sendiri karena selalu ada Erlang/OTP di bawahnya, sehingga penyiapan lingkungan mencakup keduanya. Topik ini membahas opsi instalasi resmi untuk setiap sistem operasi, pengelolaan versi dengan mise dan asdf, serta pemeriksaan hasil instalasi. Setelah langkah-langkahnya diikuti, perintah elixir, mix, dan iex siap dijalankan dari terminal.

Panduan instalasi resmi#

Halaman resmi elixir-lang.org/install.html adalah rujukan utama instalasi Elixir. Halaman itu memuat instruksi per sistem operasi, skrip instalasi cepat untuk bash dan PowerShell, paket precompiled yang siap diunduh, citra Docker resmi, serta langkah kompilasi dari sumber. Rilis Elixir 1.20 memerlukan Erlang/OTP 27.0 atau lebih baru, dan sebagian besar instruksi pada halaman tersebut memasang Erlang secara otomatis.

Sistem operasiCara instalasiCatatan
Ubuntu dan Debianapt install elixirversi pada repositori distro terkadang lebih tua daripada rilis terbaru
Fedoradnf install elixir erlangErlang dipasang bersamaan secara eksplisit
Arch Linuxpacman -S elixirtersedia pada repositori komunitas
macOSbrew install elixirmelalui Homebrew
Windowspenginstal resmi atau choco install elixirChocolatey sebagai alternatif penginstalnya
FreeBSDpkg_add elixirtersedia pada koleksi port FreeBSD
Lintas sistemmise atau asdfdibahas pada dua bagian berikutnya

Contoh perintahnya untuk Ubuntu dan Debian adalah sebagai berikut.

bash
# tidak-dijalankan
# contoh instalasi pada Ubuntu dan Debian
sudo apt update
sudo apt install elixir

Perintah di atas memasang versi yang disediakan repositori distro. Apabila versi tersebut lebih tua daripada yang dibutuhkan, jalur pengelola versi pada dua bagian berikutnya memberikan kendali penuh atas nomor versinya.

Pengelolaan versi dengan mise#

mise adalah pengelola versi yang menangani banyak alat pengembangan dalam satu perintah, dan namanya berasal dari istilah kuliner mise en place. Versi yang aktif diikat pada berkas konfigurasi mise.toml, baik pada tingkat global maupun per direktori proyek. Dengan ikatan itu, berpindah direktori proyek otomatis mengganti versi Elixir yang aktif. mise memasang Erlang dan Elixir sebagai satu rangkaian karena Elixir memerlukan Erlang untuk berjalan.

bash
# tidak-dijalankan
# memasang mise sekali di mesin
curl https://mise.run | sh
# menetapkan versi global Erlang dan Elixir
mise use -g erlang@29 [email protected]

Perintah mise use -g menetapkan versi global untuk seluruh sesi terminal. Perintah yang sama tanpa opsi -g, dijalankan dari dalam direktori proyek, menulis pilihan versi ke berkas mise.toml proyek tersebut. Angka versi pada contoh dapat disesuaikan dengan kebutuhan, dengan syarat minimal Erlang/OTP 27 untuk Elixir 1.20. Setelah terpasang, mise perlu diaktifkan pada berkas inisialisasi shell, misalnya dengan eval "$(mise activate bash)" untuk bash, agar versi yang dipilih masuk ke PATH dan digunakan oleh setiap terminal baru.

Pengelolaan versi dengan asdf#

asdf menangani pengelolaan versi melalui model plugin. Setiap alat, termasuk Erlang dan Elixir, ditangani satu plugin, dan daftar versi yang diinginkan dicatat pada berkas .tool-versions. Satu berkas .tool-versions pada akar proyek menentukan versi seluruh alat yang dikelola asdf untuk proyek itu.

text Contoh: berkas .tool-versions
erlang 29.1.2
elixir 1.20.5
bash
# tidak-dijalankan
# menambahkan plugin Erlang dan Elixir dari indeks plugin asdf
asdf plugin add erlang
asdf plugin add elixir
# memasang versi yang tercantum pada .tool-versions
asdf install

Perintah asdf install tanpa argumen membaca .tool-versions pada direktori saat itu dan memasang setiap alat yang belum ada. Sama seperti mise, asdf juga perlu diaktifkan pada berkas inisialisasi shell agar peralatannya ditemukan oleh terminal.

Memeriksa hasil instalasi#

Tiga perintah berikut memeriksa hasil instalasi. Keluaran elixir --version terdiri atas dua bagian, yaitu baris pertama yang menampilkan versi Erlang/OTP beserta rincian mesin virtualnya dan baris kedua yang menampilkan versi Elixir. Perintah mix dan iex menampilkan keluaran serupa karena keduanya bagian dari distribusi Elixir yang sama.

bash
# menampilkan versi Elixir sekaligus versi Erlang/OTP di bawahnya
elixir --version
# menampilkan versi Mix, alat pembangun proyek bawaan Elixir
mix --version
# menampilkan versi IEx, dengan stdin ke /dev/null agar tidak menunggu masukan
iex --version < /dev/null
text Keluaran
Erlang/OTP 29 [erts-17.1.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]

Elixir 1.20.5 (compiled with Erlang/OTP 29)
Erlang/OTP 29 [erts-17.1.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]

Mix 1.20.5 (compiled with Erlang/OTP 29)
Erlang/OTP 29 [erts-17.1.1] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1] [jit:ns]

IEx 1.20.5 (compiled with Erlang/OTP 29)

Baris kedua setiap keluaran menyebut versi OTP yang digunakan saat alat tersebut dikompilasi, dan angka itu sejajar dengan versi yang aktif apabila pemasangannya sehat. Pengalihan stdin ke /dev/null pada baris ketiga diperlukan apabila pemeriksaan dijalankan dari dalam skrip otomatisasi, karena IEx menunggu masukan apabila stdin berupa pipe yang tetap terbuka.

Kesalahan umum#

  1. Elixir terpasang tetapi Erlang tidak. Beberapa metode instalasi menyerahkan pemasangan Erlang kepada pengguna, sehingga perintah erl tidak ditemukan dan skrip Elixir gagal dijalankan. Perbaikannya dengan memastikan Erlang/OTP 27.0 atau lebih baru ikut terpasang, misalnya melalui pengelola versi.
  2. Versi pilihan pengelola versi tidak aktif pada terminal baru. Keadaan ini terjadi karena mise atau asdf belum diaktifkan pada berkas inisialisasi shell, sehingga perintah elixir mengarah ke versi lain atau tidak ditemukan sama sekali. Perbaikannya dengan menambahkan baris aktivasi sesuai dokumentasi masing-masing pengelola versi.
  3. Pemasangan bergantung pada versi repositori distro yang jauh lebih tua. Jalur ini menargetkan Elixir 1.20, sedangkan repositori distro terkadang menyediakan versi lama. Perbaikannya dengan beralih ke mise, asdf, atau paket precompiled dari panduan resmi.

Ringkasan#

  • Panduan resmi di elixir-lang.org/install.html mencakup repositori distro, macOS, Windows, FreeBSD, skrip instalasi, paket precompiled, dan kompilasi dari sumber.
  • Elixir 1.20 memerlukan Erlang/OTP 27.0 atau lebih baru, dan sebagian besar metode instalasi memasangnya secara otomatis.
  • mise dan asdf mengikat versi Erlang dan Elixir pada berkas konfigurasi, sehingga setiap proyek dapat menggunakan versinya sendiri.
  • Keluaran elixir –version menampilkan versi Erlang/OTP pada baris pertama dan versi Elixir pada baris kedua.

Referensi#