IDES 및 CLI용 운영 체제별 환경 변수 설정 방법
Windows
시스템 설정에서 중앙에서 정의할 수 있으며 그곳에 설정해야 합니다.
Windows WSL2 환경 변수는 Linux와 마찬가지로 설정해야 합니다. 자세한 내용은 WSL과 Windows 간의 환경 변수 공유를 참조하십시오.
Mac
환경 변수를 설정할 수 있는 여러 위치가 있습니다.
자세한 내용은 HowTo: Mac OS X에서 환경 변수 설정 - /etc/\u003Cwbr\u003Elaunchd.conf - Dowd and Associates를 참조하십시오.
~/.profile: 터미널에서 시작된 모든 프로그램에 설정하려는 변수에 사용합니다. Linux와 달리 Terminal.app에서 열린 모든 셸은 로그인 셸입니다.~/.zshrc: 로그인 셸이 아닌 셸에 대해 호출됩니다. 상속되는 환경 변수가 아닌 하위 셸에서 재정의해야 하는 별칭 및 기타 항목에 사용합니다./etc/profile:~/.profile보다 먼저 로드되지만 그 외에는 동일합니다. 머신의 모든 사용자가 터미널 프로그램을 시작할 때(Bash를 사용하는 경우) 변수가 적용되도록 할 때 사용합니다.사용자의
launchd인스턴스: 이는 사용자가 시작한 모든 프로그램(GUI 및 CLI)에 적용됩니다.launchctl에서setenv명령을 사용하여 언제든지 변경 사항을 적용할 수 있습니다. 이론적으로~/.launchd.conf에setenv명령을 넣을 수 있으며,launchd는 사용자가 로그인할 때 자동으로 읽지만 실제로는 이 파일에 대한 지원이 구현되지 않았습니다. 대신 로그인 시 스크립트를 실행하는 다른 메커니즘을 사용하고 해당 스크립트가launchctl을 호출하여launchd환경을 설정하도록 할 수 있습니다./etc/launchd.conf: 시스템 시작 시 및 사용자가 로그인할 때launchd가 읽습니다. 이러한 변수는launchd가 루트 프로세스이기 때문에 시스템의 모든 프로세스에 영향을 미칩니다. 실행 중인 루트launchd에 변경 사항을 적용하려면sudo launchctl에 명령을 파이프할 수 있습니다.
이해해야 할 기본적인 사항은 다음과 같습니다.
환경 변수는 프로세스가 포크될 때 자식 프로세스에 의해 상속됩니다.
루트 프로세스는
launchd인스턴스이며, 사용자 세션당 별도의launchd인스턴스도 있습니다.launchd는launchctl을 사용하여 현재 환경 변수를 변경할 수 있습니다. 업데이트된 변수는 이후에 포크되는 모든 새 프로세스에 의해 상속됩니다.
ps eww -o command <PID> | tr ' ' '\n' 명령을 사용하여 IntelliJ가 이 환경 변수를 사용하여 실행되는지 확인할 수 있습니다.
Linux
자세한 내용은 EnvironmentVariables - Community Help Wiki를 참조하십시오.
시스템이 터미널에서 UI 앱을 시작하지 않으므로
.profile / .bashrc를 설정하는 것만으로는 충분하지 않습니다. 관련 변수는 앱을 시작하는 프로세스(예: 창 관리자)에서 사용할 수 있어야 합니다.
IDE 및 CLI에 대한 중요한 환경 변수
CLI
HTTP_PROXYHTTPS_PROXYNO_PROXYPATH(Maven 및 Gradle 디렉토리를 포함해야 합니다)JAVA_HOME`...
Java
http.proxyHosthttps.proxyHosthttp.proxyPorthttps.proxyPort
Golang
GOPATH(Go 바이너리 경로)GOROOT(현재 Go 설치)
Python
PYTHONPATH
프록시
Java에서 프록시 설정
HTTP/HTTPS 프록시 설정 Java 구성을 참조하십시오.
Visual Studio Code에서 프록시 설정
JohannesHoppe/settings.json을 참조하십시오.
Jetbrains 앱에서 프록시 설정
HTTP 프록시 | IntelliJ IDEA를 참조하십시오.
Snyk Jetbrains 플러그인은 이 구성에서 프록시 설정을 읽지 않습니다. JAVA 프록시 환경 변수와 CLI 환경 변수를 모두 설정해야 합니다.
Last updated