Gatsby 블로그 적용 도중 만난 에러

2019-11-10

npm 설치를 위해 node.js 설치하는 과정에서

C:\Users\(계정이름)\AppData\Roaming\npm-cache\_libvips

libvips-8.7.4-win32-x64.tar.gz 파일이 누락됨.
(libvips-8.8.1-win32-x64.tar.gz을 포함한 다른 버전도 동일.)

네트워크 문제로 파일을 가져오는데에서 문제가 생긴 것으로 보임.

github realese 페이지에서 직접 받아도 다운링크에 접속을 못하여

구글링을 통해 libvips 압축파일을 정리해둔 링크를 찾아서 해결. http://18.176.30.221/list/libvips

이를 통해 npm install 명령 실행 도중 getaddrinfo EFNOTFOUND 오류가 나며

링크에서 파일을 받지 못하는 경우 해결 할 수 있음.


node-gyp 설치가 필요하다면,

네이티브 애드온 모듈 컴파일링을 하는 node-gyp를 설치

'node-gyp' is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js

$ npm install -g node-gyp


node.js를 윈도우에 설치하고서 필수 요소(python2.7 등) 자동 설치를 위한 빌드 툴을 설치해야함.
$ npm install --global --production windows-build-tools

이번 블로그 적용 중에는 이 것으로 해결이 안되고 아래와 같은 문제가 생김.


node.js 설치 시 파이썬 등 필수 요소 자동설치를 해줘야하는데

실패하여 npm이 Python v2.7을 찾지 못하는 경우

기본경로인 C:\python27 경로로 파이썬2.7을 설치해준다.


visual studio가 2019 버전이라 MSBuild.exe ENOENT 에러가 나는 경우,

빌드를 위해 Visual C++ Build tools의 2015 또는 2017 버전이 필요한데

따라서 설치해주면 해결된다. Visual C++ Build tools 설치

windows 8.1 sdk만 설치해주면 되고,

$ npm config set python python2.7
$ npm config set msvs_version 2015

위와 같이 컨픽을 설정해주면 에러 없이 빌드된다.

이번 경우 npm install 시 이 에러 발생.


> gatsby develop

The above error occurred in the <StoreStateProvider> component:
    in StoreStateProvider
    in App

위의 오류가 발생하는 경우

yarn 설치 후

npm install --global yarn

gatsby의 새 버전 재설치를 yarn으로 해주면

yarn add gatsby

다시 gatsby develop가 정상 작동한다.