이 블로그 글에서는 nvm
(Node Version Manager)와 autoenv
를 함께 사용하여 개발 워크플로우에서 Node.js 버전 및 환경 변수를 관리하는 방법에 대해 배우게 됩니다. 본 가이드는 이미 시스템에 nvm
과 autoenv
가 설치되어 있다는 가정하에 작성되었습니다.
NVM과 Autoenv를 함께 사용하는 이유
nvm
은 시스템에서 여러 버전의 Node.js를 관리하는 뛰어난 도구로, 쉽게 전환할 수 있도록 해줍니다. autoenv
는 디렉토리에 들어갈 때 .env
파일에서 자동으로 환경 변수를 로드하여 환경 변수 관리 과정을 간소화합니다.
두 도구를 결합함으로써 개발 환경을 설정하여 적절한 Node.js 버전으로 자동 전환하고 관련 환경 변수를 로드할 수 있습니다. 이를 통해 워크플로우를 간소화할 수 있습니다.
.env
파일 생성
먼저, 프로젝트의 루트 디렉토리에 .env
파일을 생성합니다. 이 파일에는 프로젝트에서 사용할 환경 변수와 Node.js 버전이 포함됩니다.
다음은 .env
파일이 어떻게 생겼는지에 대한 예시입니다:
export NODE_ENV=development
export API_KEY=your_api_key_here
export PORT=3000
export NVM_DIR="$HOME/.nvm"
nvm use 14.17.0
이 예시에서는 NODE_ENV
, API_KEY
, PORT
환경 변수를 설정하고 있습니다. 또한 nvm
디렉토리의 경로를 지정하고 프로젝트에서 Node.js 버전 14.17.0
을 사용하도록 지시하고 있습니다.
NVM과 Autoenv 함께 사용하기
이제 .env
파일을 설정했으므로 autoenv
를 nvm
과 함께 작동하도록 구성해야 합니다. 이를 위해서는 쉘에 따라 .autoenv.zsh
또는 .autoenv.sh
파일에 다음 라인을 추가합니다:
source "$NVM_DIR/nvm.sh"
이 라인은 autoenv
가 .env
파일을 로드할 때 nvm
명령이 사용 가능하도록 보장합니다.
프로젝트 설정
구성이 완료되었다면 터미널을 사용하여 프로젝트의 루트 디렉토리로 이동합니다. autoenv
에서 .env
파일이 로드된 것을 나타내는 메시지를 볼 수 있어야 합니다:
$ cd your_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v14.17.0
이제 지정된 Node.js 버전과 .env
파일에서의 환경 변수가 프로젝트에 자동으로 설정됩니다.
프로젝트 간 전환
다른 .env
파일을 가진 프로젝트 간 이동할 때 autoenv
와 nvm
은 자동으로 Node.js 버전과 환경 변수를 조정합니다:
$ cd another_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v12.22.1
이를 통해 다양한 Node.js 버전과 환경을 관리하는 것이 매우 간단해집니다!
결론
nvm
과 autoenv
를 함께 사용함으로써 프로젝트의 Node.js 버전과 환경 변수를 관리하는 작업을 크게 간소화할 수 있습니다. 이를 통해 개발 프로세스를 더욱 효율적으로 만들고 각 프로젝트에 대해 항상 올바른 설정을 사용할 수 있습니다.