rs
[nodemon] starting `node app.js`
Server is listening on 3000
node:internal/process/promises:279
triggerUncaughtException(err, true /* fromPromise */);
^
Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client
at Handshake.Sequence._packetToError (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/sequences/Sequence.js:47:14)
at Handshake.ErrorPacket (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/sequences/Handshake.js:123:18)
at Protocol._parsePacket (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Protocol.js:291:23)
at Parser._parsePacket (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Parser.js:433:10)
at Parser.write (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Parser.js:43:10)
at Protocol.write (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Protocol.js:38:16)
at Socket.<anonymous> (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/Connection.js:88:28)
at Socket.<anonymous> (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/Connection.js:526:10)
at Socket.emit (node:events:513:28)
at addChunk (node:internal/streams/readable:315:12)
--------------------
at Protocol._enqueue (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Protocol.js:144:48)
at Protocol.handshake (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/protocol/Protocol.js:51:23)
at PoolConnection.connect (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/Connection.js:116:18)
at Pool.getConnection (/Users/user/Downloads/foundation1/myapp/node_modules/mysql/lib/Pool.js:48:16)
at /Users/user/Downloads/foundation1/myapp/node_modules/typeorm/driver/mysql/MysqlDriver.js:991:18
at new Promise (<anonymous>)
at MysqlDriver.createPool (/Users/user/Downloads/foundation1/myapp/node_modules/typeorm/driver/mysql/MysqlDriver.js:988:16)
at MysqlDriver.connect (/Users/user/Downloads/foundation1/myapp/node_modules/typeorm/driver/mysql/MysqlDriver.js:299:36)
at DataSource.initialize (/Users/user/Downloads/foundation1/myapp/node_modules/typeorm/data-source/DataSource.js:122:27)
at Object.<anonymous> (/Users/user/Downloads/foundation1/myapp/app.js:21:14) {
code: 'ER_NOT_SUPPORTED_AUTH_MODE',
errno: 1251,
sqlMessage: 'Client does not support authentication protocol requested by server; consider upgrading MySQL client',
sqlState: '08004',
fatal: true
}
[nodemon] app crashed - waiting for file changes before starting...
출처
mysql>
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘사용할패스워드’
원인:환경변수를 실행하는 dotenv를 밑에 작성했을 때
MissingDriverError: Wrong driver: "undefined" given. Supported drivers are: "aurora-mysql", "aurora-postgres", "better-sqlite3", "capacitor", "cockroachdb", "cordova", "expo", "mariadb", "mongodb", "mssql", "mysql", "nativescript", "oracle", "postgres", "react-native", "sap", "sqlite", "sqljs", "spanner".
위쪽에 쓴다
에러
.env파일의 환경변수를 잘못 설정해서 발생하는 에러
👉 TYPEORM_DATABASE =westagramcrud_express 로 수정하여 해결!
에러: 404 Not Found
👉 아직 정의되지 않은 http메소드를 실행했기 때문!
이제 Get all books 에 대한 소스코드를 작성해보자!
에러: res is not defined
rea를 res로 수정!
에러: parse error, sql syntax
SET 뒤의 컬럼명을 콤마(,)로 구분해줘야 한다
에러: mysql 미설치
해결:npm install mysql --save
rs [nodemon] starting `node app.js` /Users/user/Downloads/39-backend-westagram-2/songChulJin/node_modules/typeorm/driver/mysql/MysqlDriver.js:943 throw new DriverPackageNotInstalledError_1.DriverPackageNotInstalledError("Mysql", connectorPackage); ^ DriverPackageNotInstalledError: Mysql package has not been found installed. Try to install it: npm install mysql --save
schema.sql이 깃허브에 공유된 상태에서 gitignore에 해당 파일의 위치를 추가했으나 vscode에서 적용됐다는 의미의
회색글자
로 변하지 않는 현상원인: 캐시가 남아서
해결: 터미널에서 db폴더가 존재하는 상위폴더로 이동한 후에
git rm -r --cached . # 캐시 삭제 git add . # 모든 파일 깃관리에 추가 git commit -m "fix untracked files" # 깃 커밋 git push # 깃허브에 업로드
를 입력해 캐시를 삭제. 커밋하고 vscode를 재실행합니다
vscode 특성 상 바로 적용되지 않을 수 있습니다
참조링크
불필요한 패키지 파일이 디렉토리 밖에 있어서 그냥 파일 클릭해서
cmd
+backspace
로 삭제 후 커밋했는데 오류가 발생했다On branch chuljin/assignment1 Changes not staged for commit: (use "git add/rm <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) deleted: ../package-lock.json deleted: ../package.json no changes added to commit (use "git add" and/or "git commit -a")
👉 solution
git rm ../package.json git rm ../package-lock.json
- DELETE의 상태코드는 204 입니다
204 는 body를 담을 수 없으므로 json() 대신 end()를 붙입니다!- url 맨왼쪽에
/
를 빼먹었을 때 not found 404 error 발생!
app.delete("/posts/delete/:id", async(req, res, next) => { //(...생략) console.log(req.params); // 안되면 콘솔로 찍어보자! await appDataSource.query( //...생략 (err, rows) => { console.log(err, rows); // 안되면 콘솔로 찍어보자! res.status(204).end(); } ); })