Meskipun Anda sudah menghapus suatu variabel lingkungan (seperti ANTHROPIC_BASE_URL) dari ~/.zshrc, ketika Anda memeriksanya di terminal, variabel tersebut secara mengejutkan masih ada!
Bahkan menjalankan ulang source ~/.zshrc sama sekali tidak berguna?
Bagaimana Cara Memeriksa Apakah Variabel Lingkungan Masih Ada dan File Konfigurasi Mana yang Menulisnya?
Sebelum melakukan pembersihan, Anda harus terlebih dahulu mengonfirmasi apakah variabel tersebut masih ada dalam memori saat ini, dan file konfigurasi mana yang memuatnya secara otomatis.
1. Periksa Variabel Memori
Periksa apakah variabel lingkungan tersebut masih tersisa di dalam memori Terminal saat ini
env | grep -i anthropic
2. Cari Sumber File Konfigurasi
Cari secara menyeluruh di file konfigurasi Zsh, Bash, dan tingkat sistem untuk menemukan file mana yang menulis variabel tersebut
grep -rn "ANTHROPIC_BASE_URL" ~/.zshrc ~/.zprofile ~/.zshenv ~/.zlogin ~/.bashrc ~/.bash_profile ~/.profile /etc/zshenv /etc/zprofile /etc/profile /etc/environment 2>/dev/null
Mengapa Variabel Lingkungan Lama Masih Ada Setelah Mengubah .zshrc?
Sebenarnya, saat Anda membuka terminal, variabel lingkungan sudah dimuat ke dalam “memori” koneksi tersebut.
Meskipun Anda mengubah file atau menjalankan ulang source ~/.zshrc, langkah ini hanya “memuat ulang” konten dalam file konfigurasi dan tidak secara otomatis menghapus variabel lama yang sudah ada di memori.
Perintah
sourcehanya menimpa atau menambah variabel, dan tidak akan “menghapus” variabel untuk Anda
Pada titik ini, solusi paling sederhana adalah sebagai berikut:
| Metode Pembersihan | Perintah / Tindakan | Deskripsi |
|---|---|---|
| Buka Jendela Baru | Buka tab terminal yang benar-benar baru | Shell Process baru akan membaca ulang ~/.zshrc terbaru |
| Hapus Manual | unset ANTHROPIC_BASE_URL |
Menghapus langsung variabel lingkungan tertentu dari memori saat ini |
| Reset shell | exec zsh -l |
Memuat ulang status memori Shell saat ini |
Membuka Kembali Jendela Terminal Masih Tidak Berguna? Ungkap 3 Penyebab Utama
Mengapa terkadang meskipun telah membuka jendela terminal yang benar-benar baru, variabel lingkungan lama masih tetap muncul?
Dalam hal ini, masalahnya bukan lagi pada ~/.zshrc, melainkan diwarisi dari “Proses Induk (Parent Process)”!
Saat Anda menjalankan terminal dari aplikasi perangkat lunak, proses anak akan langsung menyalin cuplikan (snapshot) variabel lingkungan proses induk saat itu.
Jika Anda menghadapi variabel lingkungan yang membandel seperti itu, biasanya disebabkan oleh 3 alasan umum berikut:
| Tipe | Penyebab | Solusi |
|---|---|---|
| IDE Built-in Terminal | VS Code, Cursor, atau Antigravity mencatat cuplikan variabel lingkungan saat aplikasi dijalankan |
Tekan Cmd + Q untuk keluar dari IDE secara tuntas lalu buka kembali |
| Aplikasi Terminal Belum Ditutup | Terminal atau iTerm2 di Mac hanya menutup jendela (Cmd + W), aplikasi utama masih berjalan di latar belakang |
Tekan Cmd + Q untuk keluar dari aplikasi Terminal secara tuntas |
| tmux | Server latar belakang tmux berjalan terus-menerus, tab baru akan selalu mewarisi pengaturan awal saat dijalankan |
Jalankan tmux kill-server untuk menghentikan layanan latar belakang |
Merestart Perangkat Lunak Masih Tidak Efektif? Periksa Alat Pihak Ketiga dan Pengaturan Tingkat Sistem
Jika ketiga trik di atas gagal dan variabel lingkungan masih tetap muncul di Terminal, pengaturan sistem tingkat lebih tinggi atau alat pihak ketiga mungkin bekerja di balik layar.
Izin sistem yang lebih tinggi atau skrip pembungkus (wrapper) akan memulihkan variabel lingkungan secara otomatis setiap kali dijalankan
Dalam hal ini, Anda dapat menggunakan 2 perintah deteksi utama berikut:
| Target Deteksi | Perintah | Deskripsi |
|---|---|---|
| Variabel Global Sistem | launchctl getenv ANTHROPIC_BASE_URL |
Periksa apakah ada alat proksi pihak ketiga yang menggunakan launchctl setenv untuk mengatur variabel global |
| Skrip Pembungkus Perintah | type claude |
Periksa apakah perintah saat ini adalah file eksekusi asli atau dibungkus dalam skrip wrapper dengan variabel default |
Langkah Troubleshooting Standar untuk Menghapus Variabel Lingkungan Secara Tuntas
Lain kali saat Anda mengubah atau menghapus variabel lingkungan di ~/.zshrc, ingatlah untuk terlebih dahulu mengonfirmasi: Apakah terminal saat ini mewarisi pengaturan Parent Process lama?
Ikuti urutan pemeriksaan berikut untuk menemukan akar masalah dan menyelesaikan masalah dengan mudah:
- Jalankan perintah
unset NAMA_VARIABELterlebih dahulu atau buka jendela terminal baru. - Jika menggunakan
IDEsepertiVS CodeatauCursor, tekanCmd + Quntuk merestartIDEsecara tuntas. - Jika menggunakan
tmux, jalankantmux kill-serveruntuk mereset layanan latar belakang. - Periksa perintah
launchctl getenvdantypeuntuk memeriksa tingkat sistem dan skrip pembungkus.