deno deploy는 read-only 입니다

·2022년 7월 12일
0

트러블슈팅 기록

목록 보기
3/3

TL;DR

deno deploy에 파일은 readonly라서 파일수정을 할 수 없음
sqlite3를 deno deploy 서버에서 쓰려고 해도 에러가 발생함 그 이유는 내부적으로 똑같이 deno writeFile 함수를 실행하기 때문에.

해결책

클라우드 db를 사용하거나
deno deploy에서 인메모리 db를 띄우기
아니면 서버로 배포전 미리 파일을 생성하기


문제 개요

기존 기능에서는 mdx 파일을 jsx로 컴파일을 해서 route 폴더에 만든뒤
서버를 실행해서 해당 페이지에 접근 하시는 식으로 구현을 했다.

문제는 생각 보다 불편했고, 만약 오픈소스화 했을때 Dx경험이 떨어지는듯 해서,
배포할때 mdx를 jsx로 빌드하면 어떨까 해서 해당 로직을 배포파일에 넣어서

deno deploy에 배포를 했는데 해당 오류가 발생했다.

에러코드:
PermissionDenied: 'Deno.writeTextFile' is not allowed in this context.

문제 확인

해서 deno 디스코드에 가서 질문을 남겼다.

그렇다
deno deploy서버는 read-only로 동작한다..

해결책

클라우드 db를 사용하거나
deno deploy에서 인메모리 db를 띄우기
아니면 서버로 배포전 미리 파일을 생성하기

불편해도 어쩔수 없이 빌드하고 배포하는 식으로 해야 할 듯 하다

0개의 댓글