인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

wooaimage님의 프로필 이미지
wooaimage

작성한 질문수

지금 당장 NodeJS 백엔드 개발 [사주 만세력]

NodeJS (백엔드)

터미널(powershell)에서 npm run dev를 입력하면 에러가 납니다.

작성

·

816

0

 PS C:\Users\June\Desktop\saju\saju-backend-nodejs> npm run dev

> saju-backend-nodejs@1.0.0 dev

> nodemon server

[nodemon] 2.0.16

[nodemon] to restart at any time, enter rs

[nodemon] watching path(s): .

[nodemon] watching extensions: js,mjs,json

[nodemon] starting node server.js

C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\@slack\webhook\dist\IncomingWebhook.js:15

throw new Error('Incoming webhook URL is required');

^

Error: Incoming webhook URL is required

at new IncomingWebhook (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\@slack\webhook\dist\IncomingWebhook.js:15:19)

at Object.<anonymous> (C:\Users\June\Desktop\saju\saju-backend-nodejs\app\commons\slack.js:2:17)

at Module._compile (node:internal/modules/cjs/loader:1218:14)

at Module._extensions..js (node:internal/modules/cjs/loader:1272:10)

at Module.load (node:internal/modules/cjs/loader:1081:32)

at Module._load (node:internal/modules/cjs/loader:922:12)

at Module.require (node:internal/modules/cjs/loader:1105:19)

at require (node:internal/modules/cjs/helpers:103:18)

at Object.<anonymous> (C:\Users\June\Desktop\saju\saju-backend-nodejs\server.js:7:15)

at Module._compile (node:internal/modules/cjs/loader:1218:14)

Node.js v19.2.0

[nodemon] app crashed - waiting for file changes before starting...

여기서 더이상 진행이 안되네요.

제가 nodejs를 배우지 않아서 어떻게 돌아가는건지 잘 모르기도 하지만 설명이 너무 간소화되어 잘 이해하기 힘들어요..ㅠㅠ. 어떻게 해야하는지 좀 알려주세요.

답변 8

1

wooaimage님의 프로필 이미지
wooaimage
질문자

mysql_db.pngsaju_db_dev 데이터베이스 만들고, saju_db_prod import도 했습니다.

포트도 3309로 바꿨어요.

 

지금 당장님의 프로필 이미지
지금 당장
지식공유자

실습 진행하시다가 잘 안되는 부분이나 궁금한 부분 있으면 언제든지 질문 주시면 감사합니다.

1

지금 당장님의 프로필 이미지
지금 당장
지식공유자

안녕하세요.

NodeJS 관련 전달 주신 에러를 재현 해보았습니다. 관련 에러가 발생하는 경우는 .env 에 SLACK_KEY= 이 부분이 없는 경우에 발생했습니다.

image 우선, .env 파일에 아래와 같은 값 들이 복사가 전부 진행되었는지 확인이 필요합니다.

image

SLACK_KEY 가 빈 값이어도 필요합니다. 만약 위 이미지 같이 작성했는데도 안되는 경우에는 아래 임시 SLACK_KEY 를 .env 에 포함시켜서 실행해주시면 감사합니다.

SLACK_KEY= https://hooks.slack.com/services/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

 

섹션 6. 개발 환경세팅 slack 에서 SLACK_KEY 를 생성하는 부분이 있는데 그 때 변경 해주시면 됩니다. 아래 key 는 임시로 사용하면 됩니다.

 

잘 안되는 부분이나 궁금한 부분 있으면 언제든지 질문 주시면 감사합니다.

해당 부분에 대해서 계속해서 강의 업데이트 진행하겠습니다.

감사합니다.

0

wooaimage님의 프로필 이미지
wooaimage
질문자

와!! 드뎌 로그인도 성공했습니다.

백엔드도 실행이 되어야하는지 생각 못했어요 ㅠㅠ

터미널 새로 열어서 백엔드 실행시키고 프론트엔드 실행시키니 로그인이 되네요^^

회원가입도 됩니다^^ 감사합니다.

지금 당장님의 프로필 이미지
지금 당장
지식공유자

축하드려요.

섹션 6. 개발 환경 세팅 수강 완료하셨으니, 다른 섹션 HTTP 통신, JWT 인증, DB 설계, API 설계, 소스코드 단계별 실습 등을 수강하시면, 백엔드 API 개발을 이해 하는데 도움이 될거에요.

wooaimage님의 프로필 이미지
wooaimage
질문자

네^^ 열심히 해보려구요! 앞으로 질문을 더 많이할거 같지만^^a

잘 부탁드립니다!!

0

wooaimage님의 프로필 이미지
wooaimage
질문자

데이터베이스 수정하고 드디어 오류에서 벗어났습니다^^

드뎌 프런트엔드 실행 로그인 화면까지 왔습니다. 그런데..로그인이 안됩니다. ㅜㅜ

하나 하나씩 실행해보고 안되면 또 문의 드릴께요. 너무 귀찮게 하는거 같아서 정말 죄송해요..ㅠㅠ

아! 그리고 데이타베이스 임포트 하실때 Charset/Collation 어떤것으로 선택해야하는지 알려주세요. Charset는 utf8mb4, Collation는 utf8mb4_unicode_ci로 했는데 맞나요??

지금 당장님의 프로필 이미지
지금 당장
지식공유자

다행이네요 ㅎㅎ

임포트 할때 별도의 설정을 하지 않았는데요. 설정이 필요한 부분이 있었나요?

로그인 test3@test.com / 1234 가 안되시나요?

  1. 백엔드가 실행되었는지 확인이 필요합니다.

  2. DB user 테이블에 test3@test.com 아이디가 저장되었는지 확인이 필요합니다.

  3. 프런트엔드에서 회원가입을 진행 테스트 확인이 필요합니다.

  4. 포스트맨으로 회원가입, 로그인, 내 정보보기 테스트 진행이 필요합니다.

     

일단, 이렇게 진행해보시고 잘 안되거나 궁금한 부분이 있으면 다시 질문 주시면 감사합니다.

0

wooaimage님의 프로필 이미지
wooaimage
질문자

삭제된 글입니다

지금 당장님의 프로필 이미지
지금 당장
지식공유자

스키마 이름 saju_db_prod 가 아닌 saju_db_dev 가 맞습니다.

아래 이미지는 올려주신 이미지 인데 네모박스를 saju_db_dev로 수정해주시면 됩니다.

image

아래 내용은 강의 내용입니다. 텍스트와 이미지가 달라서 혼란을 드린 것 같습니다. 이 부분은 빠른 시일 내에 수정하겠습니다. 텍스트가 맞습니다.!

image

감사합니다.

0

wooaimage님의 프로필 이미지
wooaimage
질문자

PS C:\Users\June\Desktop\saju\saju-backend-nodejs> npm run dev 을 실행하면 이런 에러가 계속 떠서..

code: 'ER_BAD_DB_ERROR',

errno: 1049,

sqlState: '42000',

sqlMessage: "Unknown database 'saju_db_dev'",

sql: undefined

이 에러 때문에 구글링 하다보니까 cmd도 해봤어요.

다른 방법을 모르겠어요. 에러 때문에 더이상 진행이 안됩니다.

지금 당장님의 프로필 이미지
지금 당장
지식공유자

안녕하세요! 문제를 찾은 것 같아요.

MySQL Workbench 올려 주신 이미지를 보면 saju_db_prod 데이터베이스를 생성하셨는데요.

이 부분을 saju_db_dev 로 변경해주셔야 합니다.

감사합니다.

0

wooaimage님의 프로필 이미지
wooaimage
질문자

강사님 mysql-installer-community-8.0.17.0.msi와 mysql-workbench-community-8.0.20-winx64.msi 두개를 깔았는데 지금 보니 cmd창에서 mysql -u root -p 입력하고 비번을 입력하면 Can't connect to MySQL server on 'localhost' (10061) 에러가 떠요. 다시 설치하면 될까요?? 지금 mysql만 10번도 넘도 설치 했던거 같은데..ㅠㅠ

지금 당장님의 프로필 이미지
지금 당장
지식공유자

MySQL 실습을 진행 할 때 cmd 창을 사용할 필요는 없어요.

아래 MySQLWorkbench 관련 DB 추가 및 덤프가 진행 했다면, MySQL 관련 이슈는 없을거로 예상됩니다.

MySQL 에 cmd 창에 mysql -u root -p 로 접속하려는 이유가 있을까요? 다른 특별한 이유가 없다면 실습을 계속 진행해도 좋을 것 같아요.

0

wooaimage님의 프로필 이미지
wooaimage
질문자

답변 감사합니다.

제가 .env 파일을 엉뚱한 곳에 뒀나봐요. 수정하니까 또 다른 에러가 납니다..ㅠㅠ

PS C:\Users\June\Desktop\saju\saju-backend-nodejs> npm run dev

> saju-backend-nodejs@1.0.0 dev

> nodemon server

[nodemon] 2.0.16

[nodemon] to restart at any time, enter rs

[nodemon] watching path(s): .

[nodemon] watching extensions: js,mjs,json

[nodemon] starting node server.js

3000 번 포트에서 대기중

ConnectionError [SequelizeConnectionError]: Unknown database 'saju_db_dev'

at ConnectionManager.connect (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:102:17)

at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

at async ConnectionManager._connect (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:220:24)

at async C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:174:32

at async ConnectionManager.getConnection (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\dialects\abstract\connection-manager.js:197:7)

at async C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\sequelize.js:301:26

at async MySQLQueryInterface.tableExists (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\dialects\abstract\query-interface.js:102:17)

at async Manse.sync (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\model.js:939:21)

at async Sequelize.sync (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\sequelize\lib\sequelize.js:373:9) {

parent: Error: Unknown database 'saju_db_dev'

at Packet.asError (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\packets\packet.js:728:17)

at ClientHandshake.execute (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\commands\command.js:29:26)

at Connection.handlePacket (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:456:32)

at PacketParser.onPacket (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:85:12)

at PacketParser.executeStart (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\packet_parser.js:75:16)

at Socket.<anonymous> (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:92:25)

at Socket.emit (node:events:513:28)

at addChunk (node:internal/streams/readable:324:12)

at readableAddChunk (node:internal/streams/readable:297:9)

at Readable.push (node:internal/streams/readable:234:10) {

code: 'ER_BAD_DB_ERROR',

errno: 1049,

sqlState: '42000',

sqlMessage: "Unknown database 'saju_db_dev'",

sql: undefined

},

original: Error: Unknown database 'saju_db_dev'

at Packet.asError (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\packets\packet.js:728:17)

at ClientHandshake.execute (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\commands\command.js:29:26)

at Connection.handlePacket (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:456:32)

at PacketParser.onPacket (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:85:12)

at PacketParser.executeStart (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\packet_parser.js:75:16)

at Socket.<anonymous> (C:\Users\June\Desktop\saju\saju-backend-nodejs\node_modules\mysql2\lib\connection.js:92:25)

at Socket.emit (node:events:513:28)

at addChunk (node:internal/streams/readable:324:12)

at readableAddChunk (node:internal/streams/readable:297:9)

at Readable.push (node:internal/streams/readable:234:10) {

code: 'ER_BAD_DB_ERROR',

errno: 1049,

sqlState: '42000',

sqlMessage: "Unknown database 'saju_db_dev'",

sql: undefined

}

}

C:\Users\June\Desktop\saju\saju-backend-nodejs\server.js:31

throw new Error("Mysql 연결 에러!");

^

Error: Mysql 연결 에러!

at C:\Users\June\Desktop\saju\saju-backend-nodejs\server.js:31:13

at process.processTicksAndRejections (node:internal/process/task_queues:95:5)

Node.js v19.2.0

[nodemon] app crashed - waiting for file changes before starting...

 

지금 전부 다 에러가 나서 제대로 실행을 못하고 있어요..ㅠㅠ

postman도 강사님께 올리신거를 제가 이해하지 못하고 있어요.

지금 당장님의 프로필 이미지
지금 당장
지식공유자

안녕하세요.

해당 에러도 재현을 해봤습니다.

이전 강의에서 MySQL Workbench 실습에서 놓친 것이 한 개 있습니다.

아래 에러 메시지를 보시면 saju_db_dev 데이터베이스를 만들지 않아서 발생한 에러입니다.

sqlMessage: "Unknown database 'saju_db_dev'",

MySQL Workbench 강의를 보시면 saju_db_dev 데이터베이스를 만드는 것 을 진행해야 합니다.

MySQL Workbench 에서 DB 덤프하는 것 까지 실습을 진행해주세요!

포스트맨 부분도 궁금한 것 있으면 얼마든지 물어보셔도 됩니다.

감사합니다.

wooaimage님의 프로필 이미지
wooaimage

작성한 질문수

질문하기