Strapi 오류 해결방법

jh·2023년 12월 21일
0

admin panel이 안뜬다

Strapi 공식문서

npx create-strapi-app@latest my-project

해당 명령어로 실행하면 바로 admin panel이 실행된다고 써 있는데, 실행은 되는데 연결이 되지 않았다.

If the server is not already running, in your terminal, cd into the my-project folder and run npm run develop (or yarn develop) to launch it.

일시적인 네트워크 오류일 수도 있어서, 일단은 폴더 이동 후 npm run develop or yarn develop을 하라고 함

Node version 확인하기

터미널 에러 메세지에 node 관련된 말이 있길래, 한번 확인해보니

Node.js: Only Active LTS or Maintenance LTS versions are supported (currently v18 and v20). Odd-number releases of Node, known as "current" versions of Node.js, are not supported (e.g. v19, v21).

18, 20버전만 현재 지원하고 있고 특히 최신 버전인 21버전은 지원하지 않는다고 한다.
확인해보니... 역시나 21버전 사용중

현재 Node 공식 페이지에서 설명하는 최신 버전은 21.5.0 이고, 대부분 유저에게 추천하는 버전은 20.10.0 LTS 라고 한다

n 을 이용해서 노드 버전을 20.10.0 으로 바꾸고, npm run develop 실행하니 정상적으로 작동함

strapi-graphql 설치 오류

stapi에 graphql을 사용하기 위해서는 @strapi/plugin-graphql 을 설치해줘야 한다.

npm install @strapi/plugin-graphql

을 통해 설치 후 다시 strapi를 실행했지만

cannot use graphqlscalartype "time" from another module or realm.

이라는 오류가 발생했다.

해결법으로 use "resolutions" to ensure only one version is installed 이라고 하길래 찾아봤더니

package.json
"resolutions": {
  "graphql": "^14.1.0"
}

이런 방식으로 해결했다는 글을 여러개 발견했는데, 글마다 버전이 다 달랐다(16버전도 있고, 14버전도 있고...)
다 넣어봐도 안된다.
노드 버전을 16버전으로 낮추라는 글도 있던데 이건 또 다른 오류가 생긴다.

npm 대신 yarn 쓰기

정말 간단하게 npm 대신 yarn으로 갈아타니 바로 해결되었다.

  1. yarn을 통해 create-strapi-app 설치
  2. admin panel의 marketplace로 가서 GraphQL 검색
  3. copy install command 클릭 후 바로 터미널에서 실행

이렇게 했을 경우 에러하나 안 나고 정상적으로 설치되었다

strapi api 403 forbidden

공식 문서에서는 바로

http://localhost:1337/api/${collection type}

이런 식으로 본인이 만든 collection type으로 바로 api 요청 보내면 응답이 정상적으로 된다고 써 있는데, 이상하게 403 404 error가 발생했다

권한 설정

처음 생성된 collection은 private이기 때문에, 권한 설정을 해줘야 한다고 함

Admin panel -> Roles -> Public에 가면
내가 생성한 collection의 권한을 설정해줄 수 있는데, 제일 처음 생성하면 권한이 없기 때문에

이런 식으로 체크를 해줘야 사용 가능

0개의 댓글