【发布时间】:2022-12-03 04:15:11
【问题描述】:
我已经阅读了数百万个具有相同问题的线程,但我无法解决它:(
这是我做的一个旧项目,我需要再次访问它,但是在运行 npm start 时出现以下错误:
> express-typescript-starter@0.1.0 start
> npm run tsc && npm run serve
> express-typescript-starter@0.1.0 tsc
> tsc
> express-typescript-starter@0.1.0 serve
> ts-node src/server.ts
{"level":"debug","message":"Logging initialized at debug level"}
C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\passport-jwt\lib\strategy.js:45
throw new TypeError('JwtStrategy requires a secret or key');
^
TypeError: JwtStrategy requires a secret or key
at new JwtStrategy (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\passport-jwt\lib\strategy.js:45:15)
at Object.<anonymous> (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\src\config\passport.ts:6:28)
at Module._compile (node:internal/modules/cjs/loader:1149:14)
at Module.m._compile (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\ts-node\src\index.ts:858:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1203:10)
at Object.require.extensions.<computed> [as .ts] (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\ts-node\src\index.ts:861:12)
at Module.load (node:internal/modules/cjs/loader:1027:32)
at Function.Module._load (node:internal/modules/cjs/loader:868:12)
at Module.require (node:internal/modules/cjs/loader:1051:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.<anonymous> (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\src\app.ts:16:1)
at Module._compile (node:internal/modules/cjs/loader:1149:14)
at Module.m._compile (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\ts-node\src\index.ts:858:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1203:10)
at Object.require.extensions.<computed> [as .ts] (C:\Users\alan_\Desktop\cdng\mern-finance-server-master\node_modules\ts-node\src\index.ts:861:12)
at Module.load (node:internal/modules/cjs/loader:1027:32)
这是 src/config/passport.ts:
import passport from 'passport'
import { Strategy as JwtStrategy, ExtractJwt } from 'passport-jwt'
import userServices from '../services/userServices'
import { JWT_SECRET } from '../util/secret'
export const jwtStrategy = new JwtStrategy(
{
secretOrKey: JWT_SECRET,
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
},
async (payload: any, done: any) => {
const userEmail = payload.email
const foundUser = await userServices.findUserByEmail(userEmail)
done(null, foundUser)
}
)
我没有 .env 文件(我不需要,对吧?)
运行“npm i”时,我也遇到了一堆错误,但我可以 --force 它:
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: jest-config@27.5.1
npm WARN Found: ts-node@8.10.2
npm WARN node_modules/ts-node
npm WARN dev ts-node@"^8.6.2" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peerOptional ts-node@">=9.0.0" from jest-config@27.5.1
npm WARN node_modules/jest-config
npm WARN jest-config@"^27.5.1" from @jest/core@27.5.1
npm WARN node_modules/@jest/core
npm WARN 1 more (jest-cli)
npm WARN
npm WARN Conflicting peer dependency: ts-node@10.9.1
npm WARN node_modules/ts-node
npm WARN peerOptional ts-node@">=9.0.0" from jest-config@27.5.1
npm WARN node_modules/jest-config
npm WARN jest-config@"^27.5.1" from @jest/core@27.5.1
npm WARN node_modules/@jest/core
npm WARN 1 more (jest-cli)
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving: ts-jest@26.5.6
npm ERR! Found: jest@27.5.1
npm ERR! node_modules/jest
npm ERR! dev jest@"^27.5.1" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer jest@">=26 <27" from ts-jest@26.5.6
npm ERR! node_modules/ts-jest
npm ERR! dev ts-jest@"^26.5.1" from the root project
npm ERR!
npm ERR! Conflicting peer dependency: jest@26.6.3
npm ERR! node_modules/jest
npm ERR! peer jest@">=26 <27" from ts-jest@26.5.6
npm ERR! node_modules/ts-jest
npm ERR! dev ts-jest@"^26.5.1" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
你可以看到整个repo here。
谢谢!
【问题讨论】:
标签: mongodb express jwt stack mern