이 블로그 글에서는 nvm (Node Version Manager)와 autoenv를 함께 사용하여 개발 워크플로우에서 Node.js 버전 및 환경 변수를 관리하는 방법에 대해 배우게 됩니다. 본 가이드는 이미 시스템에 nvmautoenv가 설치되어 있다는 가정하에 작성되었습니다.

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 파일을 설정했으므로 autoenvnvm과 함께 작동하도록 구성해야 합니다. 이를 위해서는 쉘에 따라 .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 파일을 가진 프로젝트 간 이동할 때 autoenvnvm은 자동으로 Node.js 버전과 환경 변수를 조정합니다:

$ cd another_project_directory
autoenv:
autoenv: Loading .env
autoenv: Switching to Node.js v12.22.1

이를 통해 다양한 Node.js 버전과 환경을 관리하는 것이 매우 간단해집니다!

결론

nvmautoenv를 함께 사용함으로써 프로젝트의 Node.js 버전과 환경 변수를 관리하는 작업을 크게 간소화할 수 있습니다. 이를 통해 개발 프로세스를 더욱 효율적으로 만들고 각 프로젝트에 대해 항상 올바른 설정을 사용할 수 있습니다.