@ Tipos / Sequelize Error TS1086: Un descriptor de acceso no puede declararse en contexto ambiental


10

Tengo un proyecto que muestra este error cuando ejecuto 'tsc':

../modules/node_modules/sequelize/types/lib/transaction.d.ts:33:14 - error TS1086: An accessor cannot be declared in an ambient context.

33   static get LOCK(): LOCK;
                ~~~~

../modules/node_modules/sequelize/types/lib/transaction.d.ts:40:7 - error TS1086: An accessor cannot be declared in an ambient context.

40   get LOCK(): LOCK;
         ~~~~

Mis versiones son:

  • "@ types / sequelize": "^ 4.28.6"
  • "sequelize": "^ 5.8.10"
  • "sequelize-typecript": "1.0.0-beta.4"

El proyecto funciona bien con nodemon pero falla cuando intento compilar el mecanografiado. Alguien sabe este error?

Gracias.

Respuestas:


13

necesitas usar el mecanografiado 3.7.

de las notas de lanzamiento del mecanografiado 3.7:

To detect the issue around accessors, TypeScript 3.7 will now emit get/set accessors in .d.ts files so that in TypeScript can check for overridden accessors.

presumiblemente sequelizese compiló con el mecanografiado 3.7 y emite archivos de definición que las versiones anteriores no entienden. Por lo tanto, deberá actualizar a mecanografiado 3.7 o usar una versión anterior de sequelize.


¿Qué pasa si no puedo actualizar a 3.7? tienes otra idea?
Shlomi Levi

funciona como un encanto
Aditya Kresna Permana

@ShlomiLevi Use una versión anterior de@types/sequelize
Aviad Hadad

3
angular 8 solo puede funcionar con mecanografiado <V3.5
Ratshiḓaho Wayne

tienes razón, tuve este problema recientemente y después de algunas búsquedas descubrí un problema cerrado en Github, así que para solucionar el problema tuve que actualizar la versión mecanografiada a la versión 3.7.2.
Thiago Valentim

23

Tengo angular 8 . está trabajando con la versión mecanografiada de 3.4.5. así que resuelva este problema, siga los pasos a continuación.

paso 1) ve al archivo tsconfig.json

paso 2) agrega skipLibCheck: true en el objeto "compilerOptions". Esto funciona para mi.

"compilerOptions": {
    "module": "commonjs",
    "moduleResolution": "node",
    "strict": true,
    "target": "es5",
    "declaration": true,
    "declarationDir": "dist-debug/",
    "skipLibCheck": true, /// Needs to be true to fix wrong alias types being used

  },

Gracias. "skipLibCheck": verdadero (agregado a tsconfig relacionado con NestJs), funcionó y NestJs con la aplicación que se inició a través de nest g ng-app.
Алексей Медведев

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.