본문 바로가기

트러블슈팅

chromedriver 에러 해결, nvm 설치 및 zsh: command not found: nvm 에러 해결

문제

Mac에서 Node 프로젝트를 빌드하기 위해, 프로젝트에서 npm install을 아래와 같이 .../프로젝트 이름/node_modules/chromedriver 라는 에러가 났다. 

문제 원인

설치한 노드의 버전과 프로젝트의 chromedriver의 버전이 맞지 않아서 생긴 문제였다.

 

npm install을 실행하기 이전에, Node를 Homebrew를 이용해 아래 터미널로 깔았었다.

#Homebrew로 Node 설치하는 명령어
brew install node

 

그랬더니 가장 최신의 19버전이 깔렸었다.

해당 프로젝트는 Node 10버전에서 돌아가기 때문에, Node 10버전으로 변경해주어야 했다.

 

참고로 프로젝트의 노드 버전은 pom.xml의 node.version을 보고 찾았다.

문제 해결

1. NVM 설치 및 환경변수 설정

NVM이라는 노드 버전 관리 프로그램으로 여러 버전의 Node를 선택해서 사용할 수 있다고 해서, NVM을 Homebrew를 이용해 설치했다. 아래 명령어를 터미널에 입력하여 설치하였다.

brew install nvm

 

설치 후, 터미널에서 nvm -version 명령어를 이용해 nvm이 잘 설치되었는 지 확인하려고 했는데, 아래와 같은 에러가 나왔다.

 

'zsh: command not found: nvm'

 

nvm install 완료 됐을 때, 다음과 같은 가이드가 터미널에 떴었다.

 

가이드에 따라, .nvm 폴더를 만들었다.

mkdir ~/.nvm

 

그 후, Mac에서 환경변수 설정파일인 .zshrc 파일에 들어갔다.

vi ~/.zshrc

 

그리고 가이드에 있는 환경 변수 설정 내용을 그대로 복사해서 붙여넣고 저장하였다.

참고로 vi에서 입력할 때는 i를 누르면 되고, 저장하고 닫을 때는 :wq를 입력하면 된다.

export NVM_DIR="$HOME/.nvm"
  [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && \. "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
  [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion

 

아래 명령어로 변경된 .zshrc 파일을 Mac에 반영하였다.

source ~/.zhsrc

 

그 후, nvm -version을 입력하니 더이상 에러가 나지 않고 아래와 같이 명령어가 수행된 것을 확인할 수 있다.

2. NVM을 이용한 다른 버전의 Node 설치

설치된 NVM을 이용해 10버전의 Node를 설치하였다.

나는 10.22.1 버전이 필요해서 아래와 같이 명령어를 입력하였다.

#Node 10.22.1 버전 설치
nvm install 10.22.1

#Node 10버전 중 가장 최신 버전 설치
nvm install 10

 

nvm use 명령어를 이용해 사용할 노드 버전을 지정하였다.

nvm use 10.22.1

 

3. IntelliJ에서 프로젝트 실행할 때 node 버전 지정

IntelliJ에서 프로젝트 실행할 때, Node 버전을 지정해주었다.

 

터미널에 명령어로 npm run dev를 입력한다.

그리고 아래와 같이 도구 표시를 누른 후, Node interpreter에서 사용할 노드 버전을 클릭해주고 Apply를 눌러주면 된다!