homebrew - node.js 접근 권한 & 링크 문제

이재훈·2020년 9월 1일
0
  • env: node: No such file or directory
  • mac catalina & mojave에서의 homebrew 문제 잦은 오류 발생(정확하지 않음)

또 다른 error :(

지난 포스트에서 작성했던 것처럼, homebrew설치 및 제거로 인한 zsh권한 에러로 터미널을 2시간이나 넘게 붙잡고 있었다.
그러나 오늘은 과제 진행하는 도중 node.js관련 문제로 pair의 추천을 받아 다시 homebrew를 설치하였다. 설치 후 지난 포스트의 문제와 동일한 에러가 발생했지만 가볍게 해결해주고 node.js를 설치하였다.

문제가 터졌다. 또. 이젠 화도 안난다.

이번엔 무슨 에러일까?

homebrew를 통한 node.js 설치 후 에러가 발생했다. 아래와 같이.

순간 나는 node.js를 잘못 설치한 줄 알고
재설치를 시도하였다.

node.js를 삭제하지 않고 바로 재설치를 한 것이라
사진에서 볼 수 있다시피 node 14.9.0 최신버전이 이미 설치가 되어있고,
단지 연결이 되어있지 않아있다는 메세지가 보인다.

'brew link node'를 입력하면 위의 버전 node를 연결 할 수 있다는 친절한 안내도 나와있다.

뭐 한번에 될 리가 없지.

'brew link --overwrite node' 안내 메세지처럼 입력해보았다.

안된다.
기대도 안했다.

그럼 대체 문제가 무엇일까?

아무래도 이번에도 접근권한이 문제가 된 듯 하다.

구글링 및 해결 방법

A. 접근 권한을 변경
'$ sudo chmod 776 /usr/local/lib'

B. link
'$ brew link --overwrite node'

'Linking /usr/local/Cellar/node/14.9.0... 8 symlinks created' 이라는 문구가 보이고, 링크가 잘 설정되었는지 확인하기 위해 'brew link node'로 확인해보니


짜잔!
링크가 잘되었다는 메세지가 보인다..ㅜㅜㅜㅜ

C. 마지막으로 1번에서 변경한 접근 권한을 재설정
'sudo chmod 755 /usr/local/lib'

참고) 755는 소유자만 모든 것(쓰기, 읽기, 실행)이 가능하고 그 외 사용자의 경우는 읽기, 실행은 가능하나 쓰기는 불가능하다고 보시면 됩니다.

오늘도 한 건 해결!


### 번외편

NVM

NVM은 Node Version Manager이다.
NVM을 통해 간단한 명령어로 node를 설치하고, 
다양한 node version을 손쉽게 옮겨 다닐 수 있다. 
NVM역시 하나의 프로그램이므로 설치해야 한다.

오늘 pair와 함께 Koans라는 과제를 진행하는 도중
어느 한 문제에서 pair는 테스트 통과가 되는 반면에
본인은 계속 통과가 되지 않는 문제가 발생했다.

도대체 무엇이 문제인지 둘이서 머리를 맞대며 고민하던 중
마침 문제가 원하는 답은 globalThis라는 답인데
웹 상에서는 Window로 뜰 것이고
node환경에서는 globalThis라고 보여진다는 mdn의 설명에서
'node버젼의 차이 때문일 수도 있겠다'힌트를 얻고 바로 서로의 node 버전을 비교해봤다.

아니나 다를까
내 node 버전은 10.xx.x였고,
pair의 버전은 14.9.0 최신버전이 설치가 되어있었다.

곧바로 노드 최신 버전을 설치한 후 버전을 nvm을 이용해 아래와 같이 변경해줬다.

$ nvm use 
(사용하고 싶은 node version : use 명령어 전에 해당 node version이 설치되어있어야 한다.)
ex) nvm use 12.13.0

최신버전으로 변경하고 나니 통과되지 않던 문제가 해결됐다.

### Potter's thought

앞으로 프로젝트를 들어가거나 협업을 하게 된다면 꼭 node.js의 버전을 확인하는 건 꼭 필수일 듯 싶다.

진짜 끝!

profile
코딩에서 인생을 배우다.

0개의 댓글