728x90
편한 노드 버전관리
여러 프로젝트를 넘나들다보면 node 버전이 문제가 될 때가 있다. 시간이 오래걸리는 문제는 당연아니다.
프로젝트를 실행시키거나, 커밋을 날렸을때 노드 버전관련 이슈가 나오면 "아.." 정도 한탄 한번 해주고 버전을 변경해주면 된다.
이를 단순화 시켜주는 방법이 .nvmrc 파일을 사용하는 것이다.
프로젝트 내에 해당 파일을 만들고 버전을 지정해주면 (ex 20.16.0), nvm use 명령어 하나로 해당 노드 버전으로 변경해준다.
하지만.
노드 버전 찾고 변경하고 하는것보다야 편해졌지만 프로젝트를 변경할때마다 명령어를 쳐줘야만하니 묘하게 거슬린다.
이 또한 자동화 시킬 수 있다면 얼마나 편해질까? ㅇㅈ?ㅇㅇㅈ
이미 프로출신들은 아주 편하게 자동화 시켜놨다는것..
이는 .zshrc 파일에 특정 코드를 추가해줌으로써 달성할 수 있다.
uvm use 자동화 시키기
vim ~/.zshrc 로 파일을 열어주고 아래 코드를 추가해 준다.
뜬금 zshrc 나만의 팁이 있다면
1. 해당 파일에 생각보다 추가되는 코드가 많기에, 코드를 추가할때 #를 활용해서 추가되는 코드 상단에 내용을 추가해주면 나중에 확인이 편하다.많아지면.. 이걸 왜추가했는지 기억이??
2. #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! 이 위쪽으로 추가할것 ㅎ
코드는 아래와 같다.
# auto nvm use
autoload -U add-zsh-hook
load-nvmrc() {
local node_version="$(nvm version)"
local nvmrc_path="$(nvm_find_nvmrc)"
if [ -n "$nvmrc_path" ]; then
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")")
if [ "$nvmrc_node_version" = "N/A" ]; then
nvm install
elif [ "$nvmrc_node_version" != "$node_version" ]; then
nvm use
fi
elif [ "$node_version" != "$(nvm version default)" ]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
add-zsh-hook chpwd load-nvmrc
load-nvmrc
위 코드를 추가해주고 :wq 로 저장후 나와서 source ~/.zshrc로 적용시켜주면 완료!
후에 .nvmrc 파일이 있는 프로젝트를 열면 아래와 같이 자동으로 적용되는 것을 확인 가능하다.
728x90
'개발 지식' 카테고리의 다른 글
[리눅스] bin 폴더가 뭐야? (feat. /bin, /usr/bin, /usr/local/bin) (1) | 2025.03.05 |
---|---|
[Turbo] x Found `pipeline` field instead of `tasks` 해결하기 (0) | 2025.02.04 |
[Git] fatal: The current branch feature/order-agent has no upstream branch.. 해결해보기 (0) | 2024.09.11 |
[명령 프롬프트] 윈도우 명령프롬프트에서 ls 사용하기 (0) | 2024.08.19 |
patch-package, npm 패키지 커스텀하기 (0) | 2024.07.30 |