IDES 및 CLI용 운영 체제별 환경 변수 설정 방법

Windows

Mac

환경 변수를 설정할 수 있는 여러 위치가 있습니다.

자세한 내용은 HowTo: Mac OS X에서 환경 변수 설정 - /etc/\u003Cwbr\u003Elaunchd.conf - Dowd and Associatesarrow-up-right를 참조하십시오.

  • ~/.profile: 터미널에서 시작된 모든 프로그램에 설정하려는 변수에 사용합니다. Linux와 달리 Terminal.app에서 열린 모든 셸은 로그인 셸입니다.

  • ~/.zshrc: 로그인 셸이 아닌 셸에 대해 호출됩니다. 상속되는 환경 변수가 아닌 하위 셸에서 재정의해야 하는 별칭 및 기타 항목에 사용합니다.

  • /etc/profile: ~/.profile보다 먼저 로드되지만 그 외에는 동일합니다. 머신의 모든 사용자가 터미널 프로그램을 시작할 때(Bash를 사용하는 경우) 변수가 적용되도록 할 때 사용합니다.

  • 사용자의 launchd 인스턴스: 이는 사용자가 시작한 모든 프로그램(GUI 및 CLI)에 적용됩니다. launchctl에서 setenv 명령을 사용하여 언제든지 변경 사항을 적용할 수 있습니다. 이론적으로 ~/.launchd.confsetenv 명령을 넣을 수 있으며, launchd는 사용자가 로그인할 때 자동으로 읽지만 실제로는 이 파일에 대한 지원이 구현되지 않았습니다. 대신 로그인 시 스크립트를 실행하는 다른 메커니즘을 사용하고 해당 스크립트가 launchctl을 호출하여 launchd 환경을 설정하도록 할 수 있습니다.

  • /etc/launchd.conf: 시스템 시작 시 및 사용자가 로그인할 때 launchd가 읽습니다. 이러한 변수는 launchd가 루트 프로세스이기 때문에 시스템의 모든 프로세스에 영향을 미칩니다. 실행 중인 루트 launchd에 변경 사항을 적용하려면 sudo launchctl에 명령을 파이프할 수 있습니다.

이해해야 할 기본적인 사항은 다음과 같습니다.

  • 환경 변수는 프로세스가 포크될 때 자식 프로세스에 의해 상속됩니다.

  • 루트 프로세스는 launchd 인스턴스이며, 사용자 세션당 별도의 launchd 인스턴스도 있습니다.

  • launchdlaunchctl을 사용하여 현재 환경 변수를 변경할 수 있습니다. 업데이트된 변수는 이후에 포크되는 모든 새 프로세스에 의해 상속됩니다.

ps eww -o command <PID> | tr ' ' '\n' 명령을 사용하여 IntelliJ가 이 환경 변수를 사용하여 실행되는지 확인할 수 있습니다.

Linux

  • 자세한 내용은 EnvironmentVariables - Community Help Wikiarrow-up-right를 참조하십시오.

  • 시스템이 터미널에서 UI 앱을 시작하지 않으므로 .profile / .bashrc를 설정하는 것만으로는 충분하지 않습니다. 관련 변수는 앱을 시작하는 프로세스(예: 창 관리자)에서 사용할 수 있어야 합니다.

IDE 및 CLI에 대한 중요한 환경 변수

CLI

  • HTTP_PROXY

  • HTTPS_PROXY

  • NO_PROXY

  • PATH (Maven 및 Gradle 디렉토리를 포함해야 합니다)

  • JAVA_HOME

  • `...

Java

  • http.proxyHost

  • https.proxyHost

  • http.proxyPort

  • https.proxyPort

Golang

  • GOPATH (Go 바이너리 경로)

  • GOROOT (현재 Go 설치)

Python

PYTHONPATH

프록시

Java에서 프록시 설정

HTTP/HTTPS 프록시 설정 Java 구성arrow-up-right을 참조하십시오.

Visual Studio Code에서 프록시 설정

JohannesHoppe/settings.jsonarrow-up-right을 참조하십시오.

Jetbrains 앱에서 프록시 설정

HTTP 프록시 | IntelliJ IDEAarrow-up-right를 참조하십시오.

Snyk Jetbrains 플러그인은 이 구성에서 프록시 설정을 읽지 않습니다. JAVA 프록시 환경 변수와 CLI 환경 변수를 모두 설정해야 합니다.

Last updated