[npm ERR] cb.apply is not a function, checkPermissions, File exists
- 참고로 저는 macOS이니 이 점 참고해주세요.
- 제게 발생한 에러 목록은 정확히 다음과 같습니다.
- npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
- npm ERR! File exists: /usr/local/bin/npx
- npm ERR! cb.apply is not a function
노마드코더의 ‘ReactJS로 영화 웹 서비스 만들기’ 코스를 수강하는 중에 발생한 이슈입니다.
#0.1(수업 진도)의 개발 환경 설정을 위해 npx를 설치하려고 했고 아래 명령어를 입력했습니다.
npm install npx -g
그런데 다음과 같은 에러가 발생했습니다.

사진1의 빨간 줄을 보시면 알겠지만 접근 권한에 문제가 있는거 같았습니다. 그래서 구글링을 해보니 다음과 같은 글을 찾았습니다.
사진2의 설명대로 진행한 후 다시 입력했습니다.
npm install npx -g
그랬더니 이번엔…

사진3처럼 에러가 발생했습니다.
이번엔 File exists라는 키워드를 보니 이미 존재하는 파일이 있어 발생하는 문제 같았습니다.


사진4의 error message를 보니 file exist 키워드가 눈에 보였고 뒤에 적혀진 경로를 열어보았습니다.
open /usr/local/bin
그리고 npx를 삭제 후 다시 해당 명령어를 입력했습니다.
npm install npx -g
그랬더니 이번엔 사진5처럼 에러메시지 발생 없이 npx가 잘 설치 되었습니다.
에러가 예전보다 비교적 잘 잡히는구나 생각하고 있던 찰나에 application folder 생성을 위해 아래 명령어를 입력하니 또 다시 문제가 발생했습니다.

npx create-react-app movie_app
사진6처럼 위의 명령어를 입력하니 발생한 에러입니다.
이번 에러 메시지는 다음과 같았습니다.
npm ERR! cb.apply is not a function
해당 문제를 또 다시 구글링 하니 누군가 저와 비슷한 문제가 있었나봅니다. 그에 대한 답변으로는 node를 설치하라는 것이었습니다.(사진7)
저는 분명
node -v
를 했을 때 v15가 설치 되어 있었는데 그래도 혹시 몰라서 해봤습니다. (해당 이슈에 대해 글이 얼마 없어서 뭐든 시키는거 다 해보고 있었습니다.)
그랬더니..



어..? 됩니다… 즉, node를 설치하니까
npm ERR! cb.apply is not a function
가 해결됐습니다.
이렇게 해서 다행히 react app을 생성할 수 있게 됐고 문제없이 수업 내용을 따라 갈 수 있게 되었습니다.

뭔가 새로운 개발환경을 설정할 때마다 이런 에러를 잡아내는게 이젠 일상이 되가는 것 같습니다.
그래도 여간 귀찮고 성가신게 아니라고 생각합니다. 이런 연유로 누군가가 조금이라도 error 잡는 것이 편해졌으면 해서 비록 간단한 정보일지라도 도움이 되고자 글을 작성하게 됐습니다.
그럼 이만 글 줄이도록 하겠습니다.