@ Types / Sequelize Error TS1086: Um acessador não pode ser declarado no contexto do ambiente


10

Eu tenho um projeto que mostra esse erro quando executo '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;
         ~~~~

Minhas versões são:

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

O projeto funciona bem com nodemon, mas falha quando tento compilar o texto datilografado. Alguém conhece esse erro?

Obrigado.

Respostas:


13

você precisa usar o texto datilografado 3.7.

das notas de versão datilografadas 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.

presumivelmente, sequelizefoi compilado com o texto datilografado 3.7 e emite arquivos de definição que as versões anteriores não entendem. Portanto, você precisará atualizar para o texto datilografado 3.7 ou usar uma versão anterior do sequelize.


E se eu não conseguir atualizar para o 3.7? tem outra ideia?
Shlomi Levi

funciona como um encanto
Aditya Kresna Permana

@ShlomiLevi Use uma versão anterior do@types/sequelize
Aviad Hadad

3
angular 8 só pode funcionar com
texto

você está certo, tive esse problema recentemente e, depois de algumas pesquisas, descobri um problema encerrado no Github. Para corrigir o problema, tive que atualizar a versão datilografada para a versão 3.7.2.
Thiago Valentim

23

Eu tenho o Angular 8 . está trabalhando com a versão datilografada do 3.4.5. para resolver esse problema, siga as etapas abaixo.

etapa 1) vá para o arquivo tsconfig.json

etapa 2) adicione skipLibCheck: true no objeto "compilerOptions". Funciona para mim.

"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

  },

Obrigado. "skipLibCheck": true (adicionado ao tsconfig relacionado aos NestJs), funcionou e NestJs com o aplicativo iniciado pelo nest g ng-app.
Алексей Медведев

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.