Mi proyecto en angular2 pero cuando ejecuto el proyecto se produce el siguiente error

No se pudieron determinar las versiones de @ angular / compiler-cli y mecanografiado. La razón más común de esto es una instalación de npm rota.

Asegúrese de que su package.json contenga @ angular / compiler-cli y mecanografiado en devDependencies, luego elimine node_modules y package-lock.json (si tiene uno) y ejecute npm install nuevamente.

Recibo este error cuando ejecuto el proyecto. A continuación se muestran los detalles de mi entorno

Angular CLI: 1.6.8
Node: 8.2.1
OS: win32 x64
Angular: 5.2.4
... core

@angular/cli: 1.6.8
@angular/common: 2.2.3
@angular/compiler-cli: 2.4.10
@angular/compiler: 2.2.3
@angular/forms: 2.2.3
@angular/http: 2.2.3
@angular/platform-browser-dynamic: 2.2.3
@angular/platform-browser: 2.2.3
@angular/router: 3.1.2
@angular/tsc-wrapped: 0.5.2
@angular-devkit/build-optimizer: 0.0.42
@angular-devkit/core: 0.0.29
@angular-devkit/schematics: 0.0.52
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.8
@schematics/angular: 0.1.17
typescript: 2.0.2
webpack: 3.10.0

A continuación se muestran los pasos que tomé para ejecutar el proyecto.

1)npm install -g @angular/cli@latest 
2)npm install 
3)ng serve

Mis registros

Versions of @angular/compiler-cli and typescript could not be determined.
The most common reason for this is a broken npm install.

Please make sure your package.json contains both @angular/compiler-cli and typescript in
devDependencies, then delete node_modules and package-lock.json (if you have one) and
run npm install again.

Perdí mucho tiempo en esto pero no puedo encontrar una solución. Si alguna idea, por favor dame una sugerencia

0
Nilesh Bhalerao 14 feb. 2018 a las 08:22

2 respuestas

La mejor respuesta

Debe actualizar sus dependencias. Angular-CLI 1.5+ ya no es compatible con Angular 2. Debe ejecutar al menos Angular 4 y también creo que al menos Typecript 2.6. Si desea verificar qué dependencias necesita para un nuevo proyecto, simplemente ejecute

ng new NewApp

Editar: para aclarar: está intentando utilizar la versión 1.6.8 de angular-cli con angular 2. Angular 2 ya no es compatible con esa versión de la cli. Tienes que actualizar esos paquetes. La mejor manera de hacerlo sería crear un nuevo proyecto usando el archivo cli. Haciendo lo siguiente

  1. Abra un símbolo del sistema y navegue a alguna ubicación en su computadora
  2. Ejecute el comando ng new SomeAppName donde SomeAppName es el nombre del nuevo proyecto. El cli ahora generará un nuevo proyecto y carpeta con ese nombre y todas las dependencias más recientes.
  3. Abra su proyecto actual que no funciona y localice el package.json
  4. Abra el proyecto recién generado y ubique el package.json
  5. Compare los archivos package.json de 3 y 4 y actualice sus dependencias
  6. ejecutar npm i

La forma alternativa es degradar su angular-cli a la versión 1.3, por ejemplo

  1. Desinstalación de npm -g @ angular / cli
  2. npm i -g @ angular / cli @ 1.3
0
alsami 14 feb. 2018 a las 13:15

Aquí hay un archivo de muestra package.json, cambie las versiones según sus necesidades. Y, en primer lugar, elimine su carpeta node_modules creada por npm install, cambie package.json como se especifica, y luego haga npm install.

Estoy pegando todo el código aquí porque mostraste solo una parte de tu, el problema podría ser que no has mencionado devDependencies en tu package.json.

  {
    "name": "ng-app",
    "version": "0.0.0",
    "license": "MIT",
    "scripts": {
      "ng": "ng",
      "start": "ng serve",
      "build": "ng build",
      "test": "ng test",
      "lint": "ng lint",
      "e2e": "ng e2e"
    },
    "private": true,
    "dependencies": {
      "@angular/animations": "^5.1.3",
      "@angular/cdk": "^5.0.3",
      "@angular/common": "^5.0.0",
      "@angular/compiler": "^5.0.0",
      "@angular/core": "^5.0.0",
      "@angular/forms": "^5.0.0",
      "@angular/http": "^5.0.0",
      "@angular/material": "^5.0.3",
      "@angular/platform-browser": "^5.0.0",
      "@angular/platform-browser-dynamic": "^5.0.0",
      "@angular/router": "^5.0.0",
      "angular2-text-mask": "^8.0.4",
      "bootstrap": "^3.3.7",
      "core-js": "^2.4.1",
      "hammerjs": "^2.0.8",
      "jquery": "^3.2.1",
      "ngx-popover": "0.0.16",
      "rxjs": "^5.5.2",
      "zone.js": "^0.8.14"
    },
    "devDependencies": {
      "@angular/cli": "1.6.0",
      "@angular/compiler-cli": "^5.0.0",
      "@angular/language-service": "^5.0.0",
      "@types/jasmine": "~2.5.53",
      "@types/jasminewd2": "~2.0.2",
      "@types/node": "~6.0.60",
      "codelyzer": "^4.0.1",
      "jasmine-core": "~2.6.2",
      "jasmine-spec-reporter": "~4.1.0",
      "karma": "~1.7.0",
      "karma-chrome-launcher": "~2.1.1",
      "karma-cli": "~1.0.1",
      "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": "~3.2.0",
      "tslint": "~5.7.0",
      "typescript": "~2.4.2"
    }
  }
1
miiiii 14 feb. 2018 a las 06:30