터미널 에러 모음

송철진·2022년 11월 1일
0

#1

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...

solution

출처
mysql>
ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘사용할패스워드’

#2

원인:환경변수를 실행하는 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".

solution

위쪽에 쓴다

#3

에러
.env파일의 환경변수를 잘못 설정해서 발생하는 에러
👉 TYPEORM_DATABASE = westagram crud_express 로 수정하여 해결!

#4

에러: 404 Not Found
👉 아직 정의되지 않은 http메소드를 실행했기 때문!
이제 Get all books 에 대한 소스코드를 작성해보자!

#5

에러: res is not defined
rea를 res로 수정!

#6

에러: parse error, sql syntax
SET 뒤의 컬럼명을 콤마(,)로 구분해줘야 한다

#7

에러: 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

#8

schema.sql이 깃허브에 공유된 상태에서 gitignore에 해당 파일의 위치를 추가했으나 vscode에서 적용됐다는 의미의 회색글자로 변하지 않는 현상

원인: 캐시가 남아서

해결: 터미널에서 db폴더가 존재하는 상위폴더로 이동한 후에

git rm -r --cached .		# 캐시 삭제
git add .					# 모든 파일 깃관리에 추가
git commit -m "fix untracked files"	# 깃 커밋
git push					# 깃허브에 업로드

를 입력해 캐시를 삭제. 커밋하고 vscode를 재실행합니다
vscode 특성 상 바로 적용되지 않을 수 있습니다
참조링크

#9

불필요한 패키지 파일이 디렉토리 밖에 있어서 그냥 파일 클릭해서 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

#10

  • 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();
        }
    );    
})
profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글