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 #

GejalaPenyebab umumSolusi
bash: go: command not founddirektori bin instalasi Go belum ada di PATHtambahkan export PATH=$PATH:/usr/local/go/bin ke ~/.profile lalu muat ulang shell
go version masih menampilkan versi lama setelah memasang versi baruada dua instalasi Go dan yang lama lebih dulu ditemukan di PATHperiksa which -a go, hapus instalasi lama, atau urutkan ulang PATH
go: go.mod file not found in current directory or any parent directorymenjalankan go run . di folder tanpa modulejalankan go mod init <nama> atau pindah ke folder proyek yang sudah memiliki go.mod
gopls: command not found padahal go install berhasildirektori $GOPATH/bin belum ada di PATHtambahkan export PATH=$PATH:$HOME/go/bin lalu buka terminal baru
'go' is not recognized di Windows padahal installer suksesterminal dibuka sebelum installer memperbarui PATHtutup dan buka ulang Command Prompt atau PowerShell
permission denied saat ekstrak tarball ke /usr/localpengguna biasa tidak memiliki hak tulis ke /usr/localjalankan 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:

bash
env PATH=/usr/bin:/bin bash -c 'go version'

Output yang Dihasilkan:

text
bash: line 1: go: command not found

Baris 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:

bash
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.profile
source ~/.profile

Perintah 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:

bash
which -a go

Output yang Dihasilkan:

text
/home/z/tools/go/bin/go

Keluaran 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:

PerintahPertanyaan yang dijawab
go versiontoolchain versi apa yang aktif saat ini
which goberkas go mana yang dipanggil oleh shell
go env GOROOT GOPATHinstalasi dan direktori kerja mana yang dipakai
echo $PATHdirektori 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 #