Featured image of post Mengapa variabel lingkungan yang dihapus dari .zshrc tetap berlaku? Mengapa menjalankan ulang source ~/.zshrc tidak menghapus variabel lama? Mengapa membuka kembali jendela terminal variabel lingkungan masih ada? Bagaimana cara menghapus variabel lingkungan secara tuntas di terminal bawaan IDE dan aplikasi Terminal?

Mengapa variabel lingkungan yang dihapus dari .zshrc tetap berlaku? Mengapa menjalankan ulang source ~/.zshrc tidak menghapus variabel lama? Mengapa membuka kembali jendela terminal variabel lingkungan masih ada? Bagaimana cara menghapus variabel lingkungan secara tuntas di terminal bawaan IDE dan aplikasi Terminal?

Ketika variabel lingkungan yang dihapus dari .zshrc tetap aktif, hal itu sering kali disebabkan oleh sisa memori atau pewarisan proses induk (parent process). Pelajari cara menghapus variabel lingkungan yang membandel menggunakan perintah unset, merestart IDE/aplikasi terminal, dan memeriksa launchctl.

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 source hanya 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:

  1. Jalankan perintah unset NAMA_VARIABEL terlebih dahulu atau buka jendela terminal baru.
  2. Jika menggunakan IDE seperti VS Code atau Cursor, tekan Cmd + Q untuk merestart IDE secara tuntas.
  3. Jika menggunakan tmux, jalankan tmux kill-server untuk mereset layanan latar belakang.
  4. Periksa perintah launchctl getenv dan type untuk memeriksa tingkat sistem dan skrip pembungkus.
All rights reserved,未經允許不得隨意轉載
Dibangun dengan Hugo
Tema Stack dirancang oleh Jimmy