카테고리 없음
window 환경에서 프로젝트마다 node 버전 다르게 설정하기
단추언니
2024. 9. 4. 16:33
반응형
진행중인 프로젝트의 node 버전을 맞춰놨었는데 새 프로젝트에서는 다른 버전의 node가 필요한 상황이었다.
구글링을 해봤는데 대부분 mac환경에서 node버전 자동화 하는 법을 올려두고있어 기록용으로 남겨둔다.
나는 bash를 사용하고 있다.
1. 사용하고자 하는 각 프로젝트의 node version을 설치한다.
https://nodejs.org/en
나는 필요한 버전이 18.14.2 와 20.17.0 버전이 필요해서 node 설치 후 npm i <version> 해줬다.
2. 각 프로젝트의 루트 디렉토리에 .nvmrc 파일을 만든다
// 1번 프로젝트의 .nvmrc
18.14.2
// 2번 프로젝트의 .nvmrc
20.17.0
nvmrc파일 안에 사용하려는 버전을 입력해야 한다.
3. bashrc 설정
나는 bash를 사용하고 있기 때문에 bashrc를 설정해 준다
nano ~/.bashrc
bashrc파일을 열고 nvm_use함수를 입력해준다
# Function to automatically use the Node version specified in .nvmrc
function nvm_use() {
local nvmrc_path
nvmrc_path=$(pwd)/.nvmrc
# Look for .nvmrc in the current directory or any parent directory
while [ ! -f "$nvmrc_path" ] && [ "$nvmrc_path" != "/" ]; do
nvmrc_path=$(dirname "$nvmrc_path")/.nvmrc
done
if [ -f "$nvmrc_path" ]; then
local version
version=$(cat "$nvmrc_path")
if [ "$(nvm current)" != "$version" ]; then
echo "Switching to Node.js version: $version"
nvm use "$version"
fi
fi
}
# Call nvm_use function whenever the shell starts
nvm_use
위의 함수 입력 후 ctrl + o (저장) -> enter -> ctrl + x (나가기)
.bash_profile가 없다는 에러가 날 수 있는데 그냥 하나 만들어주면 된다.
4. 파일을 저장한 후, 다음 명령어를 실행해 설정을 적용한다.
source ~/.bashrc
설정을 저장해 주지 않으면 에러가 발생할 수 있다.
5. 터미널 재실행 후 확인
여기서 exit status 5 따위의 에러가 발생하면 터미널을 관리자 권한으로 실행해주면 된다.
이제 프로젝트를 각각 실행해 보면 Swiching to Node.js version: ${version} 의 메시지가 뜨며 노드 버전이 스위칭 된 것을 볼 수 있다!
nvm ls 해보면 어떤 노드 버전을 사용하고 있는지 확인 가능하다.
반응형