Arvind Chourasiya
Arvind Chourasiya

Reputation: 17422

Configuration 'production' is not set in the workspace - Angular

In Angular application when I running ng serve --prod, I am getting error. Using Windows10.

An unhandled exception occurred: Configuration 'production' is not set in the workspace.      
See "C:\Users\User\AppData\Local\Temp\ng-vzzrhY\angular-errors.log" for further details.

angular-error.log file below information

[error] Error: Configuration 'production' is not set in the workspace.
    at Object.getOptions (D:\ProjectPath\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:47:31)
    at WorkspaceNodeModulesArchitectHost.getOptionsForTarget (D:\ProjectPath\node_modules\@angular-devkit\architect\node\node-modules-architect-host.js:126:49)
    at async ServeCommand.runSingleTarget (D:\ProjectPath\node_modules\@angular\cli\models\architect-command.js:167:16)
    at async ServeCommand.runArchitectTarget (D:\ProjectPath\node_modules\@angular\cli\models\architect-command.js:195:24)
    at async ServeCommand.validateAndRun (D:\ProjectPath\node_modules\@angular\cli\models\command.js:139:28)
    at async Object.runCommand (D:\ProjectPath\node_modules\@angular\cli\models\command-runner.js:204:24)
    at async default_1 (D:\ProjectPath\node_modules\@angular\cli\lib\cli\index.js:80:31)

This is my Angular.json file

{
  "$schema": "./node_modules/@angular/cli/lib/config/schema.json",
  "version": 1,
  "newProjectRoot": "projects",
  "projects": {
"Project1": {
  "projectType": "application",
  "schematics": {},
  "root": "",
  "sourceRoot": "src",
  "prefix": "app",
  "architect": {
    "build": {
      "builder": "@angular-devkit/build-angular:browser",
      "options": {
        "outputPath": "dist/Project1",
        "index": "src/index.html",
        "main": "src/main.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "tsconfig.app.json",
        "aot": true,
        "assets": [
          "src/favicon.ico",
          "src/assets"
        ],
        "styles": [
          "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
          "node_modules/bootstrap/dist/css/bootstrap.min.css",
          "src/styles.css"
        ]          
      },
      "configurations": {
        "production": {
          "fileReplacements": [
            {
              "replace": "src/environments/environment.ts",
              "with": "src/environments/environment.prod.ts"
            }
          ],
          "optimization": true,
          "outputHashing": "all",
          "sourceMap": false,
          "extractCss": true,
          "namedChunks": false,
          "aot": true,
          "extractLicenses": true,
          "vendorChunk": false,
          "buildOptimizer": true,
          "budgets": [
            {
              "type": "initial",
              "maximumWarning": "5mb",
              "maximumError": "10mb"
            },
            {
              "type": "anyComponentStyle",
              "maximumWarning": "6kb",
              "maximumError": "10kb"
            }
          ]
        }
      }
    },
    "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "disableHostCheck": true,
      "options": {
        "browserTarget": "Project1:build"
      },
      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" } 
        }       
    },
    "extract-i18n": {
      "builder": "@angular-devkit/build-angular:extract-i18n",
      "options": {
        "browserTarget": "Project1:build"
      }
    },
    "test": {
      "builder": "@angular-devkit/build-angular:karma",
      "options": {
        "main": "src/test.ts",
        "polyfills": "src/polyfills.ts",
        "tsConfig": "tsconfig.spec.json",
        "karmaConfig": "karma.conf.js",
        "assets": [
          "src/favicon.ico",
          "src/assets"
        ],
        "styles": [
          "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css",
          "../node_modules/bootstrap/dist/css/bootstrap.min.css",
          "src/styles.css"
        ],
        "scripts": [
          "node_modules/jquery/dist/jquery.min.js",
          "node_modules/bootstrap/dist/js/bootstrap.bundle.min.js",              
          "/node_modules/popper.js/dist/umd/popper.min.js"
        ]
      }
    },
    "lint": {
      "builder": "@angular-devkit/build-angular:tslint",
      "options": {
        "tsConfig": [
          "tsconfig.app.json",
          "tsconfig.spec.json",
          "e2e/tsconfig.json",
          "tsconfig.worker.json"
        ],
        "exclude": [
          "**/node_modules/**"
        ]
      }
    },
    "e2e": {
      "builder": "@angular-devkit/build-angular:protractor",
      "options": {
        "protractorConfig": "e2e/protractor.conf.js",
        "devServerTarget": "Project1:serve"
      },
      "configurations": {
        "production": {
          "devServerTarget": "Project1:serve:production"
        }
      }
    }
  }
}
  },
  "defaultProject": "Project1",
  "cli": {
    "analytics": "8062720d-180a-4964-84ea-93f7438a70dd"
  }
}

I have checked this but seems different An unhandled exception occurred: Configuration 'production' is not set in the workspace

How can I fix this ?

Upvotes: 1

Views: 6365

Answers (1)

As far as I can see there is no production configuration in your serve configurations.

  "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "disableHostCheck": true,
      "options": {
        "browserTarget": "Project1:build"
      },
      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" } 
        }       
    },

As you can see here in your serve block you have fr and en configurations. So you should add production as part of your config

      "configurations": {
        "fr": { "browserTarget": "qwikCollaborator:build:fr" },
        "en": {"browserTarget": "qwikCollaborator:build:en" },
        "production": {"browserTarget": "qwikCollaborator:build:production" } 
        }       

And this should run the production builder

Upvotes: 3

Related Questions