Netlify "build.command" failed 오류 해결

Seungmin Shin·2022년 1월 18일
6

build.command failed

사이드 프로젝트 후 netlify 로 배포를 진행하려고 하는데,
Deploy log 에서 위와같은 오류가 떳다.

Netlify 는 처음 사용하는거라 오류를 보고 온갖 구글링을 해보는 중이다.

일단 첫번째 시도를 해본다.

1. npm install netlify-cli -g

현재 나의 프로젝트에서 npm install netlify-cli -g 을 설치해보라고 한다. 가자.

--- 하는 중 ---

실패다, 이것만으로는 안되나 보다. 다른방법을 찾아보자.

2. package.json 내부 build 앞에 CI= 붙이기

2020년부터 build경로 앞에다가 CI=를 붙여야된다고 한다.
이유는 모르겠지만 일단 이것도 시도해보자.

--- 하는 중 ---

역시 실패다.. 도대체 뭐지.. 왜 안되는거지.. 밑에 코드를 더 살펴보자.

4:16:56 AM:   Error message
4:16:56 AM:   Command failed with exit code 254: npm run build
4:16:56 AM: ​
4:16:56 AM:   Error location
4:16:56 AM:   In Build command from Netlify app:
4:16:56 AM:   npm run build

해당 코드를 가지고 찾아봐도 별다른 솔루션이 없었다.
블로깅을 잠시 멈추고 이것저것 하다가 일단은 빌드에 성공했다.

두가지를 수정했다.

1. 깃허브 레파지토리 root에 package.json이 있어야 한다.

레파지토리를 급하게 만들다가 레파지토리 root에서 폴더를 하나 더 들어가야 작업중인 폴더가
나오게 했었는데, 여기서 일단 문제가 있었다. 그래서 바깥폴더를 지우고 내부의 파일을 밖으로 빼주었다.
그랬더니 오류가 다르게 떴다.

2. package.json 내 사용하지 않았던 라이브러리 삭제

이걸 라이브러리라고 해야하나, 리액트 슬라이드를 구현하다가 react-infinity-slide 를 설치한적이
있는데, 오류에 이게 나오더라, 뭔지 몰랐지만 일단 지우고보니 빌드가 성공했다.

But, 완벽히 성공하지 않았다.

일단은 빌드가 완료되고 링크를 눌러봤는데, 처음때 처럼 page not found 가 아닌 그냥 아무것도 안나오는
빈창이 뜨고있다... 음.. 왜그럴까 이건 또

빈화면에서 콘솔창을 열어보니
Failed to load resource: the server responded with a status of 400 ()
라는 오류가 나왔다. 검색해보자.

1. package.json 내 hompage: "." 으로

package.json 안에 내 배포 주소를 적어놓았던 homepage의 주소를 . 으로 바꿔보란다.

--- 시도 중 ---

안된다..안된다!!!!! 슬슬 답답해지기 시작한다.


그런데...


그런데...!!!

해결해브렀다~!~~~!!!!!!!!!!

해결

root 폴더 내 netlify.toml 과 netlify 사이트 내 Build settings.

여러가지 해결방안을 보면서 이것저것 추가했었는데, 그 중에 하나가
프로젝트 가장 상위폴더에 netlify.toml 파일을 만드는것이었다.
그리고 그 안에는

[build]
publish = ""
command = ""

를 적었었다. 따옴표 안에는 빌드 관련 명령어를 넣었어야 되는데 나는 처음엔 그냥
블로그에서 본대로 복붙을 했던터라

[build]
publish = "publish"
command = "npm run build"

로 되있었다. 그리고 나는 netlify 사이트의 Build settings 에선

publishbuild 로 되있었다. 이게 문제였다.

두개가 동일해야했던것... 에효... 당연한거였는데 내가 미처 확인을 못하고 있었다.

아주 힘이 빠지는군... 그래도 해내서 다행이다..

profile
Frontend Developer

1개의 댓글

comment-user-thumbnail
2023년 12월 21일

^^

답글 달기