터미널을 켤 때마다 설정해뒀던 PATH 같은 환경변수들이 말끔히 사라져서 매번 다시 입력해야 하는 번거로움에 지치셨나요? 분명 설치를 완료하고 PATH까지 지정했는데, 터미널을 다시 시작하면 모든 설정이 초기화되어버리는 황당한 경험은 개발자라면 누구나 한 번쯤 겪어봤을 문제입니다.
이런 현상은 셸이 시작될 때 환경변수를 자동으로 불러오도록 설정하지 않았기 때문에 발생합니다. 임시로 설정된 환경변수는 현재 세션에만 유효하며, 세션이 종료되면 함께 사라져 버리는 것이죠.
이 글에서는 macOS의 Zsh 셸에서 `.zshrc` 파일을 활용해 환경변수를 단 3단계 만에 영구적으로 설정하고, 다시는 이 문제를 겪지 않도록 구체적인 해결책을 제시합니다. 이제 지루한 반복 작업은 끝낼 시간입니다.
– macOS의 기본 셸인 Zsh는 `.zshrc` 파일을 통해 환경변수를 영구적으로 관리합니다.
– `export` 명령어를 사용하여 PATH를 포함한 모든 환경변수를 `.zshrc` 파일에 추가해야 합니다.
– `.zshrc` 파일 수정 후 `source ~/.zshrc` 명령을 실행하여 변경 사항을 즉시 적용하고 확인하는 것이 중요합니다.
맥 환경변수를 매번 초기화해야 하는 번거로움 없이, `~/.zshrc` 파일에 영구적으로 설정하여 한 번에 효과적으로 관리하세요.
맥 터미널 환경변수가 사라지는 이유
macOS 터미널에서 환경변수를 설정했을 때, 터미널 창을 닫거나 재시작하면 설정이 사라지는 경험은 일반적인 현상입니다. 이는 여러분이 입력한 환경변수 설정 명령어가 현재 셸 세션에만 임시적으로 적용되기 때문입니다. 예를 들어, `export PATH=”/usr/local/bin:$PATH”`와 같은 명령은 현재 열려있는 터미널 세션에만 유효합니다. 터미널이 종료되면 이 세션과 함께 모든 임시 설정값도 사라지게 됩니다.
이러한 문제를 해결하기 위해서는 셸이 시작될 때마다 특정 환경변수들을 자동으로 불러오도록 설정해야 합니다. macOS는 버전 10.15 Catalina부터 기본 셸을 Bash에서 Zsh로 변경했습니다. 따라서 Zsh 사용자는 `.zshrc` 파일을, Bash 사용자는 `.bash_profile` 또는 `.bashrc` 파일을 활용하여 환경변수를 영구적으로 설정할 수 있습니다. 오늘 글에서는 대부분의 맥 사용자가 해당되는 Zsh 셸의 `.zshrc` 파일을 중점적으로 다룰 예정입니다.
Bash와 Zsh는 모두 유닉스 기반 셸이지만, Zsh는 Bash보다 더 풍부한 자동 완성, 테마, 플러그인 등 편리한 기능을 제공하여 최근 많은 개발자들에게 선호됩니다. 환경변수 설정 방식은 유사하지만, 사용하는 설정 파일의 이름이 다르다는 핵심적인 차이점이 있습니다.
Photo by Daniil Komov on Pexels
.zshrc 파일: 환경변수 영구 설정의 핵심
`.zshrc` 파일은 Zsh 셸이 시작될 때마다 자동으로 실행되는 스크립트 파일입니다. 이 파일 안에 환경변수 설정, 앨리어스(alias) 정의, 함수 추가 등 다양한 커스터마이징 명령어를 저장하면, 터미널을 열 때마다 이 설정들이 자동으로 적용됩니다. 마치 컴퓨터를 켰을 때 자동으로 시작되는 프로그램 목록처럼, Zsh 셸에게 ‘이렇게 시작해라’라고 지시하는 명령어 모음집이라고 생각하시면 됩니다.
이 파일은 사용자의 홈 디렉토리(`~`)에 숨김 파일 형태로 존재합니다. 터미널에서 `ls -a ~` 명령어를 입력하면 숨겨진 파일들을 포함한 홈 디렉토리의 모든 파일 목록을 볼 수 있습니다. 만약 `.zshrc` 파일이 없다면, `touch ~/.zshrc` 명령어를 통해 손쉽게 생성할 수 있습니다. 대부분의 경우 기본적으로 생성되어 있지만, 환경에 따라 없을 수도 있으니 먼저 확인하는 것이 좋습니다.
`.zshrc` 파일처럼 마침표(.)로 시작하는 파일은 macOS나 리눅스 시스템에서 숨김 파일로 간주됩니다. 이는 중요한 시스템 파일이나 사용자 설정 파일을 실수로 삭제하는 것을 방지하기 위함입니다. 탐색기에서는 보이지 않을 수 있지만, 터미널에서는 `ls -a` 명령어로 확인할 수 있습니다.
Photo by Cláudio Emanuel on Pexels
.zshrc 파일 편집 및 환경변수 추가 (3단계)
이제 `.zshrc` 파일을 열어 원하는 환경변수를 영구적으로 설정하는 실질적인 방법을 알아보겠습니다. 이 과정은 매우 간단하며 3단계로 진행됩니다. 파일 편집은 터미널 기반 편집기인 `nano`나 `vim`을 사용할 수도 있고, macOS 사용자라면 `open -e` 명령어를 통해 TextEdit과 같은 GUI 편집기로도 쉽게 열 수 있습니다.
- `.zshrc` 파일 열기 — 터미널에 다음 명령어를 입력하여 `.zshrc` 파일을 엽니다.
open -e ~/.zshrc위 명령어는 TextEdit으로 파일을 열어줍니다. 만약 터미널에서 바로 편집하고 싶다면 `nano ~/.zshrc` 또는 `vim ~/.zshrc`를 사용할 수 있습니다. `nano`가 초보자에게는 더 접근하기 쉬운 편집기입니다.
- 환경변수 추가 — 파일의 가장 아랫줄에 다음 형식으로 필요한 환경변수를 추가합니다. `export` 키워드를 사용하여 해당 변수가 서브 프로세스에서도 사용 가능하도록 만듭니다.
export PATH="/opt/homebrew/bin:$PATH" export MY_VARIABLE="my_value" export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home"위 예시에서 `PATH`는 기존 경로에 새로운 경로를 추가하는 방식으로 작성되었습니다. 기존 `PATH` 값(`$PATH`)을 보존하면서 새로운 경로를 맨 앞에 추가하는 것이 가장 안전한 방법입니다. 만약 여러 줄을 추가해야 한다면 각각의 `export` 명령어를 새 줄에 작성합니다.
- 저장 및 종료 — 파일을 수정한 후 저장하고 닫습니다.
TextEdit의 경우, 단순히 파일을 저장(S)하고 닫으면 됩니다.
`nano` 편집기의 경우, `Ctrl+X`를 누른 후 `Y`를 눌러 저장 여부를 확인하고 `Enter`를 눌러 파일 이름을 확정하면 됩니다.
`vim` 편집기의 경우, `Esc`를 누른 후 `:wq`를 입력하고 `Enter`를 누르면 저장하고 종료됩니다.
Photo by Christina Morillo on Pexels
설정 변경 적용 및 확인
`.zshrc` 파일을 수정했다고 해서 터미널에 바로 변경 사항이 적용되는 것은 아닙니다. 셸은 `.zshrc` 파일을 시작할 때 한 번만 읽기 때문에, 변경 사항을 즉시 반영하려면 현재 셸 세션에서 해당 파일을 다시 읽어들이거나, 새로운 터미널 세션을 시작해야 합니다. 가장 빠르고 효율적인 방법은 `source` 명령어를 사용하는 것입니다.
터미널에 `source ~/.zshrc` 명령어를 입력하면, 현재 열려있는 셸에서 `.zshrc` 파일을 다시 실행하여 모든 변경 사항을 즉시 적용합니다. 이 과정은 불과 1초도 걸리지 않습니다. 변경 사항이 제대로 적용되었는지 확인하려면, 설정한 환경변수를 `echo` 명령어로 출력해보면 됩니다. 예를 들어 `echo $PATH`를 입력하여 여러분이 추가한 경로가 맨 앞에 포함되어 있는지 확인합니다.
| 구분 | `source ~/.zshrc` | 터미널 재시작 |
|---|---|---|
| 적용 범위 | 현재 셸 세션에 즉시 적용 | 새로운 셸 세션부터 적용 |
| 편의성 | 터미널을 닫지 않고 바로 확인 가능 | 터미널을 닫았다 다시 열어야 함 |
| 주요 용도 | 설정 변경 후 빠른 테스트 | 최초 설정 또는 시스템 재시작 |
맥 터미널 환경변수가 재시작될 때마다 사라지는 문제는 `.zshrc` 파일을 통해 영구적으로 해결할 수 있습니다. `.zshrc` 파일을 열어 `export` 명령어로 원하는 환경변수를 추가하고, `source ~/.zshrc` 명령으로 즉시 변경 사항을 적용하는 것이 핵심입니다.
지금 바로 적용해 보세요.
- Apple Developer Documentation – Shell Scripting Primer — macOS 환경에서 셸 스크립트의 기본 개념과 활용법에 대한 공식 문서입니다.
- Zsh Official Documentation — Zsh 셸의 공식 문서로, `.zshrc` 파일을 포함한 다양한 설정 및 기능에 대한 깊이 있는 정보를 제공합니다.
동영상으로 보는 맥 환경변수 zshrc 영구 설정
글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.
자주 묻는 질문
Q. 맥에서 환경변수를 설정했는데, 터미널을 닫았다 열면 왜 초기화되는 건가요?
A. 터미널에서 직접 설정한 환경변수는 현재 세션 내에서만 유효하기 때문입니다. 이를 영구적으로 사용하려면 쉘 설정 파일인 `~/.zshrc`에 해당 변수를 저장해야, 새로운 터미널 세션이 시작될 때마다 자동으로 로드됩니다.
Q. `~/.zshrc` 파일은 무엇이며, Mac 환경변수 설정에 왜 중요한가요?
A. `~/.zshrc`는 macOS에서 기본 쉘인 Zsh의 주 설정 파일입니다. 새로운 터미널 창이나 탭을 열 때마다 자동으로 실행되므로, 이곳에 환경변수를 정의해야 영구적으로 시스템 전반에 걸쳐 해당 변수들을 사용할 수 있습니다.
Q. `PATH` 변수에 새로운 경로를 영구적으로 추가하려면 `~/.zshrc`에 어떻게 작성해야 하나요?
A. `~/.zshrc` 파일을 텍스트 편집기로 열어 (`nano ~/.zshrc` 등), `export PATH=”/새로운/경로:$PATH”`와 같은 형식의 줄을 추가합니다. 파일을 저장한 후 `source ~/.zshrc` 명령을 실행하거나 새 터미널을 열면 변경사항이 적용됩니다.
Q. `~/.zshrc` 파일을 잘못 수정하여 터미널에 문제가 생겼을 때 어떻게 복구할 수 있나요?
A. 터미널이 제대로 실행되지 않을 경우, 다른 터미널 프로그램(예: iTerm2)을 사용하거나, VS Code 같은 GUI 에디터로 `~/.zshrc` 파일을 직접 열어 문제가 되는 부분을 주석 처리하거나 삭제하여 수정할 수 있습니다. 수정한 후에는 터미널을 다시 시작해 보세요.
