본문 바로가기

카테고리 없음

[NPM] cannot find module 'bcrypto.node'

반응형

Wallet Connect 2.0 을 적용하면서, connect나 ping 등 wallet 테스트를 진행하기 위해 프로젝트 clone 후 실행을 시키려는데

cannot find module 'bcrypto.node'

위와 같은 에러가 발생했다.

처음에는 단순히 모듈 설치가 안되는 줄 알고 install 명령어를 실행했더니 이번엔 "node-gyp rebuild" command error 가 떠서 이런 저런 원인 파악을 하던 중 node-gyp의 버전 문제라든지, node-gyp가 python으로 작성되어 있고, 버전에 따라 python 버전이 맞지 않으면 오류가 발생할 수 있다든지 하는 등의 원인이 있다기에 node-gyp 재 설치와, 9.0.0 기준으로 python 3.7을 설치를 진행했다.

npm install --global node-gyp //node-gyp 재 설치
brew install python3 //mac homebrew로 python3 설치 진행

 

본인은 mac에는 python이 기본 설치되어 있을 텐데, 다시 설치 해야 한다는 사실이 의아했으나 저 당시엔 그게 최선인 줄 알고 일단 설치했다. 와중에 brew로 설치를 하려 했으나, 이 과정에서도 오류가 발생해 결국 python 페이지에서 설치파일을 활용했다.

 

아무튼, 저 모든 절차를 끝내고도 프로젝트 install 명령어는 듣지를 않았고, 또 한참 error log를 쳐다보니

invalid active developer path (/Library/Developer/CommandLineTools)

라는 xcrun error가 눈에 들어왔다.

찾아보니 macOS 업데이트를 진행하면 개발 툴에서 CommandLineTools를 식별하지 못하는 현상이 다수 발생하는 듯 했다. ( 0.x 단위가 아닌 x 버전 업그레이드 시 발생하는 것으로 추정된다.) 

(참고 블로그)
https://www.hahwul.com/2019/11/18/how-to-fix-xcrun-error-after-macos-update/

 

Mac 업그레이드 후 xcrun: error: invalid active developer path 에러 해결하기

MacOS 업그레이드 시 어김없이 발생하는 문제가 하나 있습니다 😫 바로 개발 관련 도구 사용 시 대다수가 발생하는 missing xcrun 에러인데요.

www.hahwul.com

 

결국

xcode-select --install

위 명령어로 xcode-select 재 설치 후 프로젝트 npm(yarn) install을 진행하니 모듈이 정상적으로 설치되는 걸 확인할 수 있었고, 예제 프로젝트도 정상적으로 실행이 되더라.

새삼 코드 한 줄로 해결이 되는 일에 하루를 꼬박 삽질을 했다는 게 허탈하고 허망하기도 했지만, 해결이 됐으니 큰 불만은 없다.

지금 와서 보니 brew 에러 메세지에

Error: python@3.10: the bottle needs the Apple Command Line Tools to be installed. You can install them, if desired, with: xcode-select --install

이런게 떡하니 적혀있었다. 이번 일에서의 교훈은 새삼 '에러 메세지를 잘 살펴보자'가 되겠다.

 

+) node-gyp rebuild 에러는 여전히 발생하는데, 프로젝트 실행에는 문제가 없어서 일단 놔두기로 했다. 

반응형