Mi aplicación en Angular 5. Así es como se ve el paquete.json
{ "name": "myapp", "version": "0.0.0", "license": "MIT", "scripts": { "ng": "ng", "start": "ng serve", "build": "ng build --prod", "test": "ng test", "lint": "ng lint", "e2e": "ng e2e" }, "private": true, "dependencies": { "@angular/animations": "^5.2.0", "@angular/common": "^5.2.0", "@angular/compiler": "^5.2.0", "@angular/core": "^5.2.0", "@angular/forms": "^5.2.0", "@angular/http": "^5.2.0", "@angular/platform-browser": "^5.2.0", "@angular/platform-browser-dynamic": "^5.2.0", "@angular/router": "^5.2.0", "@types/file-saver": "0.0.1", "angular-2-dropdown-multiselect": "^1.6.0", "angular2-csv": "^0.2.5", "bootstrap": "^3.3.7", "core-js": "^2.4.1", "file-saver": "^1.3.3", "ngx-bootstrap": "^1.9.3", "ngx-clipboard": "^8.1.0", "ngx-loading": "^1.0.14", "ngx-pagination": "^3.0.0", "ngx-toastr": "^6.4.0", "rxjs": "^5.5.6", "zone.js": "^0.8.19" }, "devDependencies": { "@angular/cli": "~1.7.0", "@angular/compiler-cli": "^5.2.0", "@angular/language-service": "^5.2.0", "@types/jasmine": "~2.8.3", "@types/jasminewd2": "~2.0.2", "@types/node": "~6.0.60", "codelyzer": "^4.0.1", "jasmine-core": "~2.8.0", "jasmine-spec-reporter": "~4.2.1", "karma": "~2.0.0", "karma-chrome-launcher": "~2.2.0", "karma-coverage-istanbul-reporter": "^1.2.1", "karma-jasmine": "~1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "protractor": "~5.1.2", "ts-node": "~4.1.0", "tslint": "~5.9.1", "typescript": "~2.5.3" } }
Todo está bien hasta ahora. Ahora necesito usar un selector de fecha en mi aplicación. Así que instalé angular-io-datepicker
npm install angular-io-datepicker --save
Ahora, cuando hago un servicio ng (después de incluir OverlayModule y DatePickerModule en app.module.ts), me da el siguiente error
ERROR in node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'. node_modules/angular-io-overlay/node_modules/@angular/core/src/render3/ng_dev_mode.d.ts(9,11): error TS2451: Cannot redeclare block-scoped variable 'ngDevMode'.
¿Alguna sugerencia sobre lo que podría estar mal y cómo solucionarlo? Anteriormente estaba usando este módulo con éxito con Angular 4. Luego actualicé a Angular 5 y se rompió. Ahora, incluso si retrocedo a angular 4, este módulo todavía me da el mismo problema.
Me encontré con el mismo error, aunque creo que fue causado por una referencia a un archivo Typescript ubicado en un proyecto diferente. Pude resolver el problema siguiendo los consejos aquí: problemas de github 24165 . Específicamente, agregué lo siguiente a compilerOptions
en el archivo tsconfig.json
en la raíz de mi proyecto:
"paths": { "@angular/*": ["node_modules/@angular/*"] }
Nota: puede ser necesario usar ../node_modules
si su ruta base no está vacía.
Para angular 6 en tsConfig
si la baseUrl es src, entonces funciona la configuración de la ruta de la siguiente manera.
"paths": { "@angular/*": [ "../node_modules/@angular/*" ]`enter code here` },
si la baseUrl está vacía, la configuración de la ruta sin root funcionó para mí
"paths": { "@angular/*": [ "node_modules/@angular/*" ] },
Puedo ver que ya se ha dado la respuesta correcta, pero creo que se necesita una mejor explicación de lo que sucede con la respuesta.
en tsconfig.json
"paths": { "@angular/*": ["node_modules/@angular/*"] }
esto le dice al compilador que elija "node_modules/@angular", la versión angular de la aplicación principal para todas las instancias, incluidas las bibliotecas