Búsqueda de sitios web

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 :

  1. Instala ncu desde la biblioteca npm-check-updates:
sudo npm install -g npm-check-updates
  1. Ejecute ncu en la carpeta del proyecto :
ncu
  1. Actualiza tus dependencias:
ncu -u
  1. Finalmente, instala las actualizaciones
npm install

Artículos relacionados