typescript - ERROR [ExceptionHandler] No se puede leer la propiedad '__guards__' de undefined en NestJs
Estoy trabajando en implementar una autenticación simple en un proyecto de Nest.
Cuando añado
@UseGuards(AuthGuard('local'))
a mi controlador le tengo el siguiente error :
ERROR [ExceptionHandler] Cannot read property '__guards__' of undefined
at /home/cedric/Bureau/programmation/project_bank/project/node_modules/@nestjs/core/scanner.js:147:152
Seguí toda la documentación oficial de Nest para hacer esto.
Mi controlador es
@UseGuards(AuthGuard('local'))
@Post('login')
async login(@Request() req) {
console.log(req.body.username);
return req.body.username;
}
y mi auth.guard.ts
@Injectable()
export class LocalAuthGuard extends AuthGuard('local') {}
Respuesta #1
Diría que esto es un problema de incompatibilidad de versiones de dependencias.
Necesitas asegurarte de que @nestjs/platform-express, @nestjs/core y @nestjs/common estén en la misma versión (creo que solo importa la parte menor).
Respuesta #2
Realmente era un desajuste de versión de la dependencia.
Seguí este procedimiento para actualizar mi proyecto :
- Instala ncu desde la biblioteca npm-check-updates:
sudo npm install -g npm-check-updates
- Ejecute ncu en la carpeta del proyecto :
ncu
- Actualiza tus dependencias:
ncu -u
- Finalmente, instala las actualizaciones
npm install
