친구와 카톡하다가

'심심한데 NFT나 한번 해보자'고 해서 시작한 프로젝트

간단하게 이미지 몇 개만 조합해서 제너레이팅을 한 다음 민팅하는 것까지

딱 거기까지가 목표인 토이 프로젝트이다. 

 

그림 그리는 건 나중에 다 준비되면 하기로 하고, 제너레이팅 프로그램을 완성하는 게 우선이었다.

그 프로그램을 내 손으로 짜는 건 어림도 없고 조코딩님의 유튜브 채널을 활용하였다.

 

https://github.com/HashLips/hashlips_art_engine

 

GitHub - HashLips/hashlips_art_engine: HashLips Art Engine is a tool used to create multiple different instances of artworks bas

HashLips Art Engine is a tool used to create multiple different instances of artworks based on provided layers. - GitHub - HashLips/hashlips_art_engine: HashLips Art Engine is a tool used to create...

github.com

항상 '이런 거 해봐야겠다'하고 찾아보면 무조건 있다는 게 신기하다.

저건 이미지 제너레이팅 해주는 코드의 깃헙이다. 

 

해당 깃헙을 보면 canvas api와 node.js를 사용한다고 한다.

canvas는 뭔지 잘 모르겠지만 node.js는 깔아주어야만 한다고 하니, node.js를 깔아줬다.

처음에는 최신버전으로 깔았는데, 나중에 실행이 안되는 것이다.

그래서 혹시나 해서 버전다운 시켜서 현재는 10.18.0이 내 맥에 설치된 상태이다. 

 

나는 node.js를 내 손으로 설치했기 때문에 npm install을 커맨드창에 입력했다. 

그리고 node index.js를 커맨드에 입력해 실행시켰다.

 

그랬더니 역시나 에러가 발생한다. 

에러 코드가 ELIFECYCLE...?

구글링 해보니 약간 캐시문제에서 발생하는 에러인 듯 했다. 

lock.json을 지우긴 했지만 npm cache clean -force 명령어는 애초에 먹질 않았다. 

 

유명한 깃헙 코드인데 syntaxError라니...뭐가 문제인지 감조차 안온다.

구글링해보니 버전 업데이트 하라고 나와서 또 버전 업데이트를 해본다...

후....

node 16버전에서 에러가 뜬다는 첩보를 발견했다.

그리고 stack overflow에서 찾아보니 뭔 파이썬 버전도 맞춰보라 그래서 일단 맞춰줘봤다. 

 

엄청 욕하면서 '아 이거 왜 안되냐 도대체'이러고 있었는데

파이썬이랑 node 버전 다운그레이딩 하고 딱 커맨드창에 npm install쳤다.

그리고 나서 node index.js 넣었는데 웬걸

 

"해치웠다...."

파이썬이랑 연관되어있는 그런거였나 싶다. 해당 프로젝트에 파이썬 파일은 없어서 상상도 못했다. 

 

 

결론

오늘 발생했던 에러들을 요약하면 다음과 같다. 

layerObj.options?.["displayName"] != undefined

SyntaxError: Unexpected token .

npm ERR! code ELIFECYCLE

npm ERR! gyp info

 

SyntaxError는 node.js의 버전 문제인 것 같다.

해당 코드가 작성되던 시절의 V10도 아니고 현재 가장 최신인 V16을 써도 안되는 것 같다.

다만 해외 커뮤니티에서 node는 V14 이상에서 해당 syntax에러를 수정했다고 하는 것 같았다.

그래서 node 버전은 14번대로 맞췄다. 

 

또한 gyp 에러는 파이썬 쪽에서 발생한 것 같다.

해당 코드에서 node-gyp를 사용했나본데, 이는 최신버전에서 지원하지 않는 모양이다.

node를 공부해보진 않아서 gyp가 무엇인지는 모르겠으나, 구식 방식이기에 파이썬 최신버전에서는 지원하지 않나보다.

 

삽질하던 분들! 우리가 같은 에러를 겪고 있다면

node를 14버전대로 맞추고 python을 2.7버전대로 맞춰보도록해요ㅎ

+ Recent posts