Instalasi Go umumnya berjalan mulus, tetapi ketika masalah muncul, hampir semuanya bermuara pada satu penyebab: variabel PATH yang tidak menunjuk ke direktori biner yang benar. Terminal yang belum dimuat ulang, versi lama yang masih tersimpan, dan berkas biner hasil go install yang tidak terbaca adalah variasi dari akar masalah yang sama. Pada chapter ini kita akan membangun tabel diagnosis lengkap, mereproduksi galat command not found secara nyata di terminal, lalu memperbaiki PATH untuk setiap sistem operasi.
Tabel Masalah, Penyebab, dan Solusi #
| Gejala | Penyebab umum | Solusi |
|---|---|---|
bash: go: command not found | direktori bin instalasi Go belum ada di PATH | tambahkan export PATH=$PATH:/usr/local/go/bin ke ~/.profile lalu muat ulang shell |
go version masih menampilkan versi lama setelah memasang versi baru | ada dua instalasi Go dan yang lama lebih dulu ditemukan di PATH | periksa which -a go, hapus instalasi lama, atau urutkan ulang PATH |
go: go.mod file not found in current directory or any parent directory | menjalankan go run . di folder tanpa module | jalankan go mod init <nama> atau pindah ke folder proyek yang sudah memiliki go.mod |
gopls: command not found padahal go install berhasil | direktori $GOPATH/bin belum ada di PATH | tambahkan export PATH=$PATH:$HOME/go/bin lalu buka terminal baru |
'go' is not recognized di Windows padahal installer sukses | terminal dibuka sebelum installer memperbarui PATH | tutup dan buka ulang Command Prompt atau PowerShell |
permission denied saat ekstrak tarball ke /usr/local | pengguna biasa tidak memiliki hak tulis ke /usr/local | jalankan perintah tar dengan awalan sudo |
Enam baris tersebut menutup mayoritas laporan masalah instalasi Go. Dua kasus pertama menyangkut PATH dan akan kita bedah lebih dalam karena paling sering terjadi.
Mereproduksi Galat command not found #
Galat command not found mudah direproduksi tanpa merusak konfigurasi apa pun: kita menjalankan go version di dalam subshell yang sengaja diubah PATH-nya sehingga direktori Go tidak lagi terbaca. Perintah berikut menjalankan bash dengan PATH yang hanya berisi direktori sistem:
env PATH=/usr/bin:/bin bash -c 'go version'Output yang Dihasilkan:
bash: line 1: go: command not foundBaris keluaran di atas persis seperti yang tercetak di lingkungan penulisan materi ini. Pada komputer Anda, teks line 1 bisa saja tidak muncul; kedua bentuk menunjukkan kejadian yang sama: bash mengais seluruh direktori di PATH (/usr/bin dan /bin saja pada demo ini), tidak menemukan berkas bernama go, lalu melaporkannya dengan status keluar 127. Kondisi inilah yang dialami komputer yang PATH-nya belum memuat direktori biner Go.
Memperbaiki PATH per Sistem Operasi #
Pada Linux dengan shell bash, deklarasi PATH terbaik diletakkan di ~/.profile agar berlaku pada setiap sesi login, atau di ~/.bashrc untuk shell interaktif non-login. Kedua berkas tersebut dibaca otomatis oleh bash pada waktu yang berbeda, dan banyak distribusi menjalankan .bashrc dari .profile. Tambahkan baris berikut, sesuaikan jalurnya bila instalasi Anda berbeda:
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
source ~/.profilePerintah source memuat ulang berkas tersebut pada sesi berjalan sehingga kita tidak perlu membuka terminal baru. Pada macOS dengan shell zsh, tempat yang tepat adalah ~/.zprofile dengan isi export PATH=$PATH:/usr/local/go/bin di dalamnya. Pengguna Windows tidak perlu mengedit berkas: installer MSI sudah mengatur PATH, dan pengaturan manual dapat dilakukan lewat Environment Variables pada System Properties.
Mendeteksi Versi Ganda #
Ketika go version menampilkan versi lama padahal versi baru sudah dipasang, komputer memiliki lebih dari satu berkas go. Perintah which -a go mencetak seluruh lokasi berkas go yang ditemukan di PATH sesuai urutan pencarian:
which -a goOutput yang Dihasilkan:
/home/z/tools/go/bin/goKeluaran di atas berasal dari lingkungan penulisan materi ini yang hanya memiliki satu instalasi, sehingga hanya satu baris yang tercetak. Ketika komputer Anda mencetak dua baris atau lebih, bash memakai baris pertama setiap kali perintah go dipanggil; solusinya adalah menghapus instalasi lama, atau memindahkan direktori instalasi baru ke posisi lebih awal di PATH.
Perintah Diagnosis Cepat #
Ketika lingkungan Go terasa tidak beres, empat perintah berikut memetakan keadaan komputer dalam waktu kurang dari satu menit:
| Perintah | Pertanyaan yang dijawab |
|---|---|
go version | toolchain versi apa yang aktif saat ini |
which go | berkas go mana yang dipanggil oleh shell |
go env GOROOT GOPATH | instalasi dan direktori kerja mana yang dipakai |
echo $PATH | direktori mana saja yang dibaca shell saat mencari program |
Dengan tabel gejala, reproduksi galat, dan perbaikan PATH di chapter ini, kita memiliki rencana penanganan untuk hampir semua masalah lingkungan kerja Go. Seluruh peralatan kini terpasang dan terverifikasi, dan kita siap masuk ke fondasi bahasa: struktur program Go yang pertama.
Referensi #
- Installing Go
— konfigurasi
PATHresmi per sistem operasi. - Command go
— perilaku pencarian toolchain oleh perintah
go. - Organizing a Go module
— penjelasan
go.moduntuk galat module tidak ditemukan.