2017-09-06 2 views
0

나는 Heroku에 배포하는 노드에서 실행되는 매우 간단한 TypeScript 응용 프로그램 (Express.js로 빌드)을 가지고 있습니다. 노드 buildpack과 zidizei/heroku-buildpack-tsc을 모두 사용합니다. 후자는 배포시 .ts를 JavaScript로 컴파일합니다.heroku의 노드 응용 프로그램이 읽기 전용 파일 시스템으로 인해 실패합니다.

배포를 실행하려고 시도한 결과 오늘까지 정상적으로 작동했습니다. 배포 자체는 잘 작동하지만 실행 스크립트 node ./dist/server.js이 실행 된 지점에서 앱이 충돌합니다. 여기 로그 : 어떤 시점에서

Sep 06 14:43:33 goodlord-bark app/web.1: $ node ./dist/server.js 
Sep 06 14:43:33 goodlord-bark heroku/web.1: Process exited with status 1 
Sep 06 14:43:33 goodlord-bark heroku/web.1: State changed from starting to crashed 
Sep 06 14:43:33 goodlord-bark app/web.1: error An unexpected error occurred: "EROFS: read-only file system, access '/usr/local/bin'". 
Sep 06 14:43:33 goodlord-bark app/web.1: info If you think this is a bug, please open a bug report with the information provided in "/app/yarn-error.log". 

어떤 스크립트 또는 내 응용 프로그램의 시도가 /usr/local/bin에 쓸 않습니다 그래서 왜 이런 일이에 같은 혼란 스러워요. 이 오류는 코드베이스와 새로운 배포에 대한 피상적 인 변경 후에 만 ​​발생합니다. 그래서 Heroku의 끝에서 변경된 사항이 있지만 그 밑으로 갈 수 있습니다.

이전 배포로 롤백하면 당분간 내 앱이 계속 실행되지만 현재 업데이트를 배포 할 수 없습니다.

검토 할 /app/yarn-error.log도 없습니다.

답변

3

나는 갑자기 Heroku에서 비슷한 문제가 발생했습니다. 이 문제는 원사 1.0.0에서 소개되었으며 Heroku는 기본적으로 최신 버전을 사용합니다. 여기에 관련된 heroku-buildpack-nodejs issue이 있습니다.

"engines": { 
    "node": "^7.10.1", 
    "yarn": "0.27.5" 
} 
+0

미친 :

은 package.json의 engines 섹션에서 다운 그레이드 원사로 해결! - 나는 "yarn"을 가지고 있었다 : "> = 0.27.0"'내 엔진 섹션에서. 분명히 어딘가에 버그. "0.28.4"로 변경하면 문제가 해결 된 것으로 보입니다. 도움을 주셔서 감사합니다 – harryg

+0

맞아요, 그것은 1.0.0 원사로 부러졌습니다 - 그래서 우리는 Heroku가 기본적으로 사용했던 최신 버전 대신 이전 버전을 강요하여 해결했습니다. –

+0

Btw 그들은 현재 원사 1.0.1을 가지고 있으며 웹 사이트에서 '안정적'이라고 표시되어 있으므로 "엔진": { "yarn": "^ 1.0.1"}도 잘 작동합니다. –

관련 문제