Tengo miles de este error después de la implementación inicial y al escribir en terminal ng serve my-app of y no puedo resolverlo. Esta es la primera vez que tengo un problema como este dentro de angular con errores mecanografiados que se ve así:
ERROR en ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:24:19 - error TS1086: No se puede declarar un descriptor de acceso en un contexto ambiental.
24 protected get parentElement(): HTMLElement | null; ~~~~~~~~~~~~~ ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:26:19
- error TS1086: No se puede declarar un descriptor de acceso en un contexto ambiental.
26 protected get nativeElement(): HTMLElement; ~~~~~~~~~~~~~ ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:28:9
- error TS1086: No se puede declarar un descriptor de acceso en un contexto ambiental.
28 get activatedValue(): string; ~~~~~~~~~~~~~~ ../../node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:29:9
- error TS1086: No se puede declarar un descriptor de acceso en un contexto ambiental.
29 set activatedValue(value: string); ~~~~~~~~~~~~~~ ../../node_modules/@angular/flex-layout/core/typings/breakpoints/break-point-registry.d.ts:20:9
- error TS1086: No se puede declarar un descriptor de acceso en un contexto ambiental.
[...]
¿Alguien sabe una razón? No puedo probar mi aplicación hasta que la arregle.
Está bien, lo hago adelante. La mayoría de los errores se han ido, pero ahora tengo algunos, por ejemplo, el primero de ellos:
ERROR en src/app/main/main.component.ts:143:63 - error TS2322: escriba 'cadena | undefined' no se puede asignar al tipo 'cadena'. El tipo 'indefinido' no se puede asignar al tipo 'cadena'.
143 this.fileService.add({ isFolder: true, name: folder.name, parent: this.currentRoot ? this.currentRoot.id : 'root' });
El código se ve así:
componente principal.ts:
currentRoot: MpFileElement = new MpFileElement(); ... addFolder(folder: { name: string }) { this.fileService.add({ isFolder: true, name: folder.name, parent: this.currentRoot ? this.currentRoot.id : 'root' }); this.updateFileElementQuery(); } ...
archivo.servicio.ts:
import { Injectable } from '@angular/core'; import { v4 } from 'uuid'; import { MpFileElement } from '../models/mp-file-element.model'; import { Observable } from 'rxjs/internal/Observable'; import { BehaviorSubject } from 'rxjs'; export interface IFileService { add(fileElement: MpFileElement); delete(id: string); update(id: string, update: Partial<MpFileElement>); queryInFolder(folderId: string): Observable<MpFileElement[]>; get(id: string): MpFileElement; } @Injectable() export class MpFileService implements IFileService { constructor() {} private map = new Map<string, MpFileElement>() private querySubject: BehaviorSubject<MpFileElement[]>; add(fileElement: MpFileElement) { fileElement.id = v4(); this.map.set(fileElement.id, this.clone(fileElement)); return fileElement; } delete(id: string) { this.map.delete(id); } update(id: string, update: Partial<MpFileElement>) { let element = this.map.get(id); element = Object.assign(element, update); this.map.set(element.id, element); } queryInFolder(folderId: string) { const result: MpFileElement[] = []; this.map.forEach(element => { if (element.parent === folderId) { result.push(this.clone(element)); } }) if (!this.querySubject) { this.querySubject = new BehaviorSubject(result); } else { this.querySubject.next(result); } return this.querySubject.asObservable(); } get(id: string) { return this.map.get(id); } clone(element: MpFileElement) { return JSON.parse(JSON.stringify(element)); } }
Tuve este mismo problema, y estos 2 comandos me salvaron la vida. Mi problema subyacente es que siempre me equivoco con la instalación global y la instalación local. Tal vez esté enfrentando un problema similar y, con suerte, ejecutar estos comandos también resolverá su problema.
ng update --next @angular/cli --force npm install typescript@latest
Parece que ha instalado recientemente el paquete flex-layout. Intente eliminar esta carpeta de paquetes de su carpeta node_modules y vuelva a instalar la versión anterior de este paquete.
Recientemente (2 días antes de la fecha actual), angular lanzó la última versión de angular-cli (v9.0.1) debido a que muchos paquetes se actualizan para admitir esta última versión de cli. En su caso, es posible que tenga una versión anterior de cli y cuando instaló este paquete, se descargó para la última versión de cli de forma predeterminada. Así que intente degradar la versión de su paquete. Funcionó para mí al menos.
Además, no olvide degradar la versión de su paquete en el archivo package.json
Creo que su problema surgió de la falta de coincidencia de la versión del módulo y el mecanografiado. Este problema es muy similar a su pregunta y las respuestas son muy satisfactorias.
tratar
ng update @angular/core @angular/cli
Luego, solo para sincronizar material, ejecute:
ng update @angular/material
Tuve el mismo problema al agregar @angular/flex-layout a mi proyecto Angular 8 ahora con
`npm install @angular/flex-layout --save`.
Esto desde ahora que el comando instaló la novena versión principal del paquete flex-layout. En lugar de actualizar todo lo demás a la última versión, lo resolví instalando la última octava versión principal del paquete .
npm install @angular/flex-layout@8.0.0-beta.27 --save
En mi caso, la degradación de @angular/animations funcionó, si puede permitírselo, ejecute el comando
npm i @angular/animations@6.1.10
O use otra versión que pueda funcionar para usted desde la pestaña Versiones aquí: https://www.npmjs.com/package/@angular/animations
Establecer "skipLibCheck": true
en tsconfig.json
resolvió mi problema
"compilerOptions": { "skipLibCheck": true }
Solución rápida: Actualizar paquete.json
"devDependencies": { ... "typescript": "~3.7.4", }
En tsconfig.json
{ ..., "angularCompilerOptions": { ..., "disableTypeScriptVersionCheck": true } }
luego elimine la carpeta node_modules y vuelva a instalar con
instalar npm
Para más visita aquí
Estaba trabajando en un proyecto nuevo y obtuve un tipo de problema similar. Acabo de ejecutar ng update --all
y mi problema se resolvió.
En mi caso, falta de coincidencia de la versión de dos bibliotecas .
Estoy usando angular 7.0.0 e instalado
"@swimlane/ngx-dnd": "^8.0.0"
y esto causó el problema. Revertir esta biblioteca a
"@swimlane/ngx-dnd": "6.0.0"
trabajó para mi.
Actualicé las versiones de TypeScript y typescript
y tslint
paquetes que no estaba usando. Esto resolvió mi problema.
Como otros señalaron aquí, parece ser un problema con diferentes versiones de TypeScript donde los tipos generados de alguna biblioteca no son compatibles con su versión de TypeScript.
Tuve este error cuando eliminé varios componentes mientras el servidor estaba encendido (después de ejecutar el comando ng serve ). Aunque eliminé las referencias del componente y el módulo de rutas, no resolvió el problema. Entonces seguí estos pasos:
Si es solo una biblioteca la que está causando esto, esto evitará el problema muy bien. El texto mecanografiado puede ser un dolor de cabeza a veces, así que establezca este valor en su archivo tsconfig.json.
"compilerOptions": { "skipLibCheck": true }
La mejor manera de superar este problema es que simplemente elimine el archivo node_modules y package-lock.json y luego instale npm con npm i resolvió mi problema
Para aquellos que encuentran este problema en el almacenamiento iónico, intente usar:
npm i @ionic/storage@2.2.0