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.json
coincidencias con lo que se llama desde su package.json
secció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:23
y 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.json
era "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
o
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:

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 install
o yarn
antes 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 codeCoverageExclude
interior angular.json
y ver si sus *.spec.ts
archivos están definidos dentro de la matriz.
Es posible que encuentre sus archivos excluidos en la prueba.
0 Comentarios