Header Ads Widget

Ticker

6/recent/ticker-posts

El comando angular ng serve arroja un error:An unhandled exception occurred: Project does not exist

 Estoy tratando de mejorar mi entorno de desarrollo angular local usando ng serve, funcionaba perfectamente bien hace un día, pero ahora cada vez que ejecuto ng serve o npm start arroja un error:

Ocurrió una excepción no controlada: el proyecto no existe.

He intentado ejecutar ng serve en uno de mis proyectos diferentes, funciona allí.

no estoy seguro de qué está causando este error

Asegúrese de que el nombre del proyecto en sus angular.jsoncoincidencias con lo que se llama desde su package.jsonsección de scripts.

Así es como descubrí el problema. Estaba recibiendo el siguiente error:

1 
2
An unhandled exception occurred: Project does not exist.
See "C:\Users\Adam\AppData\Local\Temp\ng-XcQsPs\angular-errors.log" for further details.

Cuando fui a ese archivo de registro, vi esto:

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11
[error] Error: Project does not exist.
    at WorkspaceNodeModulesArchitectHost.findProjectTarget (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:94:23)
    at WorkspaceNodeModulesArchitectHost.getBuilderNameForTarget (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:13:39)
    at RunCommand.runSingleTarget (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular\cli\models\architect-command.js:175:55)
    at RunCommand.runArchitectTarget (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular\cli\models\architect-command.js:218:35)
    at RunCommand.run (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular\cli\commands\run-impl.js:14:25)
    at RunCommand.validateAndRun (C:\Users\Adam\source\repos\TechScore.Express\node_modules\@angular\cli\models\command.js:134:39)
    at process._tickCallback (internal/process/next_tick.js:68:7)
    at Function.Module.runMain (internal/modules/cjs/loader.js:834:11)
    at startup (internal/bootstrap/node.js:283:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

Así que abrí node-modules-architect-host.js:94:23y vi esto:

1 
2 
3 
4
const projectDefinition = this._workspace.projects.get(target.project);
if (!projectDefinition) {
    throw new Error('Project does not exist.');
}

No tengo idea de por qué lanzan un error como este sin decirte qué proyecto no existe. Así que cambié el archivo para que sea así:

1
throw new Error('Project does not exist. ' + target.project);

Ahora, cuando construyo, aparece un error como este:

1
An unhandled exception occurred: Project does not exist. client-app

¡Finalmente puedo ver quién es el culpable! Una búsqueda global de "aplicación de cliente" me mostró que se estaba utilizando desde package.json, pero mi proyecto angular.jsonera "Aplicación de cliente". Cambiar todas las referencias de "ClientApp" a "client-app" me solucionó el problema.

Similar al problema mencionado por adam0101,
el problema se solucionó cambiando el nombre del proyecto. De hecho, los nombres de package.json y angular.json pueden ser diferentes (al menos para mí), pero dentro de angular.json, el nombre fue consistente

Antiguo

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "e-admin": {   ======NAME USED HERE=======
      "root": "",
...
"serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "eAdmin:build"    ===NAME USED HERE====
          },
          "configurations": {
            "production": {
              "browserTarget": "eAdmin:build:production"  <===NAME USED HERE
            }
          }
        },

Modificado

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18
 "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
    "e-admin": {
      "root": "",
...
"serve": {
          "builder": "@angular-devkit/build-angular:dev-server",
          "options": {
            "browserTarget": "e-admin:build"
          },
          "configurations": {
            "production": {
              "browserTarget": "e-admin:build:production"
            }
          }
        },

Asegúrate de que angular.json tenga esta configuración

1 
2 
3 
4 
5 
6 
7 
8 
9
{
    "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
    "version": 1,
    "newProjectRoot": "projects",
    "projects": { // here 
        "testapp": {
            "root": "",
            "sourceRoot": "src",
            "projectType": "application",

Verifique que el nombre del proyecto y el proyecto predeterminado sean los mismos.

aplicación de prueba

1 
2 
3 
4 
5 
6 
7 
8 
9
{
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
"version": 1,
"newProjectRoot": "projects",
"projects": { // here 
    "testapp": {
        "root": "",
        "sourceRoot": "src",
        "projectType": "application",

………………

1
"defaultProject": "testapp",

por favor, inténtalo

1
npm install 

o

1
yarn install

Hago coincidir los valores en angular.json & package.json y mi problema fue resuelto

angular.json:

1 
2 
3 
4 
5
"projects": {
    "step1": {
      "projectType": "application",
      ...,
      ...,

paquete.json

1 
2 
3 
4
{
  "name": "step1",
  ...,
  ...,

Solucioné este problema cambiando el objetivo en tsconfig.json de es2015 a es5

@ adam0101 ¡La solución ayudó mucho! ¡¡¡Gracias!!!

Pero tuve que agregar un console.log (objetivo):

1 
2 
3 
4 
5
const projectDefinition = this._workspace.projects.get(target.project);
if (!projectDefinition) {
    console.log(target)
    throw new Error('Project does not exist.');
}

Y encontré en el paquete.json el nombre de proyecto incorrecto en una búsqueda global:

La falla:

El nombre del proyecto en angular.json debe ser el mismo en todas las propiedades donde se necesite.

Y tenga mucho cuidado con las mayúsculas y minúsculas, incluso en las rutas, en angular.json.

¡Windows no se queja, pero Angular sí!

Dupliqué un proyecto y cambié su nombre y me dio este error. Se solucionó cambiando el nombre del proyecto en cualquier otro lugar en angular.json.

Por ejemplo

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12
    "e2e": {
              "builder": "@angular-devkit/build-angular:protractor",
              "options": {
                "protractorConfig": "e2e/protractor.conf.js",
                "devServerTarget": "YourNewProjectName:serve"
              },
              "configurations": {
                "production": {
                  "devServerTarget": "YourNewProjectName:serve:production"
                }
              }
            },

Para cualquiera que todavía tenga este problema. Es probable que no haya ejecutado npm installyarnantes de llamar al script de ejecución.

Tuve el mismo problema con Angular Universal . Para mí fue lo más sencillo. Es npm run dev:ssr no ng run dev:ssr . Sin embargo, no se ejecuta myproject:serve-ssr . Esté atento a las diferencias entre ng y npm .

Para mí solo funciona usando

1
npm run cordova:run android

Asegúrese de que la ruta de "estilos" en angular.json sea

1
"./node_modules/bootstrap/dist/css/bootstrap.min.css"

en vez de

1
"../node_modules/bootstrap/dist/css/bootstrap.min.css"

Y también elimine un punto de los "guiones"

1 
2 
3
 "scripts": [
              "./node_modules/bootstrap/dist/js/bootstrap.min.js"
            ]

Si está trabajando en un proyecto existente, es posible que desee verificar el codeCoverageExcludeinterior angular.jsony ver si sus *.spec.tsarchivos están definidos dentro de la matriz.

Es posible que encuentre sus archivos excluidos en la prueba.


Publicar un comentario

0 Comentarios