Topik ini membahas pemasangan Crystal 1.22 beserta shards, pemeriksaan hasil pemasangan, dan penyiapan editor untuk pengembangan sehari-hari. Setelah topik ini diikuti, compiler dan shards dapat dipanggil dari terminal, hasil pemasangannya terverifikasi, dan editor sudah memiliki dukungan bahasa yang memadai. Seluruh perintah pada topik ini hanya membutuhkan terminal, tanpa hak akses khusus.
Memasang Crystal dan shards#
Crystal didistribusikan melalui beberapa saluran resmi yang didokumentasikan pada halaman instalasi Crystal, mulai dari manajer paket untuk macOS dan Windows sampai instruksi khusus untuk berbagai distribusi Linux. Saluran yang paling langsung untuk Linux adalah tarball resmi yang dipublikasikan pada halaman rilis proyek di GitHub. Tarball crystal-1.22.1-1-linux-x86_64.tar.gz berisi compiler, shards, dan alat pendukungnya dalam satu arsip, sehingga cukup diekstrak ke satu direktori dan PATH diarahkan ke binarinya. Seluruh contoh pada jalur ini diverifikasi menggunakan compiler 1.22.1 yang dipasang melalui tarball tersebut.
Isi tarball mencakup binari crystal dan shards pada folder bin/, sumber pustaka standar pada folder lib/crystal/, serta berkas pelengkap seperti halaman manual, skrip pelengkapan perintah untuk beberapa shell, dan lisensi. Folder itulah yang dibaca compiler setiap kali pustaka standar diperlukan, sehingga tarball sebaiknya diletakkan pada lokasi tetap dan tidak dipindah-pindah setelah terpasang. Pemeriksaan versi pada bagian berikutnya mengonfirmasi bahwa seluruh bagian itu dapat ditemukan.
Shards adalah manajer dependensi (dependency manager) resmi Crystal yang mengelola pustaka pihak ketiga. Daftar dependensi sebuah proyek dicatat pada berkas shard.yml, dan perintah shards install mengunduh serta menautkannya ke folder lib/ proyek. Karena paket resmi sudah menyertakan shards, tidak ada pemasangan terpisah yang diperlukan.
Memeriksa hasil pemasangan#
Pemasangan yang selesai diperiksa dengan memanggil kedua program langsung dari terminal. Perintah crystal --version mencetak identitas compiler, sedangkan shards --version mencetak identitas manajer dependensinya. Kedua perintah tidak memerlukan argumen dan aman dipanggil kapan saja.
# periksa versi compiler dan manajer dependensi
crystal --version
shards --versionCrystal 1.22.1 [23828b0a4] (2026-10-22)
LLVM: 22.1.3
Default target: x86_64-unknown-linux-gnu
Shards 0.20.0 [b2b98ca] (2025-12-19)Baris pertama menunjukkan versi compiler, hash commit sumbernya, dan tanggal rilis. Baris LLVM menunjukkan versi backend kompilasi yang digunakan, sedangkan baris Default target menunjukkan arsitektur yang menjadi sasaran binary hasil build. Baris terakhir berasal dari shards --version yang menunjukkan manajer dependensi 0.20.0 terpasang bersama compiler.
Hash commit seperti 23828b0a4 menunjukkan titik sumber yang digunakan saat binary compiler dibangun, sehingga dua pemasangan dengan nomor versi sama tetap dapat dibedakan apabila perlu. Tanggal rilis di sampingnya membantu menilai usia pemasangan ketika mengikuti dokumentasi versi tertentu. Memastikan versi sebelum mulai bekerja menghindarkan penelusuran yang sia-sia ketika sebuah fitur ternyata belum ada di versi lama.
Sebagai uji penutup, compiler dapat dieksekusi tanpa membuat berkas sama sekali melalui perintah crystal eval. Perintah ini mengompilasi satu ekspresi lalu menjalankannya. Ekspresi ditulis langsung setelah nama perintah, diapit tanda kutip agar shell memperlakukannya sebagai satu argumen.
# uji compiler dengan satu ekspresi tanpa berkas
crystal eval 'puts 2 + 3'5Keluaran 5 menandakan rantai kerja compiler berjalan utuh, mulai dari membaca kode, mengompilasi, hingga mengeksekusinya. Pemeriksaan ini membutuhkan waktu beberapa detik karena ekspresi benar-benar dikompilasi terlebih dahulu. Kecepatan hasil akhir inilah ciri compiler: kode dieksekusi sebagai binary, bukan ditafsirkan baris demi baris.
Menyiapkan editor#
Dua komponen membuat pengembangan Crystal di editor lebih nyaman. Komponen pertama adalah ekstensi Crystal untuk VS Code yang dikembangkan proyek crystal-lang-tools. Ekstensi ini menyediakan penyorotan sintaks untuk berkas .cr dan shard.yml serta berperan sebagai klien LSP. LSP (language server protocol) adalah protokol standar yang menghubungkan editor dengan server analisis kode, sehingga fungsinya dapat diterapkan pada editor apa pun yang mendukung protokol tersebut.
Komponen kedua adalah crystalline, implementasi language server untuk Crystal yang dipasang secara terpisah. Crystalline menjalankan compiler di latar belakang sehingga editor dapat menampilkan diagnostik tipe, pelengkapan kode (code completion), dan lompatan ke definisi. Karena analisisnya menyertakan compiler sungguhan, respons pertama pada proyek yang besar biasanya membutuhkan beberapa detik sebelum cache analisis terbentuk. Setelah itu, umpan balik editor berjalan lebih cepat pada penyuntingan berikutnya.
Ekstensi VS Code tersebut terdaftar dengan nama Crystal Language dan memungkinkan crystalline ditetapkan sebagai server LSP-nya. Kombinasi keduanya memindahkan sebagian siklus kerja dari terminal ke editor: pesan error tipe muncul saat berkas disunting, bukan setelah perintah diketik. Untuk pekerjaan yang tetap membutuhkan terminal, keduanya saling melengkapi dan tidak saling menggantikan.
Tanpa LSP sekalipun, pekerjaan tetap dapat dilakukan karena compiler dipanggil dari terminal dan pesan error kompilasinya sudah rinci. Dukungan editor mempersingkat umpan balik antara menyunting kode dan melihat hasil pemeriksaan tipe. Keduanya bersifat pelengkap, sedangkan compiler dan shards adalah komponen yang wajib siap.
Ringkasan#
- Crystal 1.22 dan shards dipasang dari saluran resmi, yaitu halaman instalasi atau tarball pada halaman rilis GitHub.
crystal --versiondanshards --versionmemverifikasi pemasangan, sedangkancrystal evalmenguji compiler tanpa berkas.- Editor disiapkan dengan ekstensi crystal-lang-tools untuk VS Code dan language server crystalline.
crystal tool formatmenjaga konsistensi gaya kode apabila dijalankan otomatis saat berkas disimpan.
Referensi#
- Instalasi Crystal — Crystal Lang — Instruksi pemasangan resmi Crystal untuk berbagai platform.
- Rilis Crystal — GitHub — Halaman rilis resmi yang menerbitkan tarball compiler, termasuk 1.22.1.