angular-cli: Error: ngCompiler.ReflectorHost is not a constructor

Please provide us with the following information:

OS?

Mac OSX (Sierra)

Versions.

ngtools/webpack - 1.1.7

Repro steps.

git clone github.com/prsolucoes/angular2-starter-project cd angular2-starter-project npm install npm start

The log given by the failure.

paulo@MacBook-Pro-de-Paulo:~/Developer/workspaces/node/angular2-starter-project (master) $ npm start

> angular2-starter-project@1.0.0 start /Users/paulo/Developer/workspaces/node/angular2-starter-project
> npm run ngc && concurrently -r "webpack-dev-server --config webpack.config.js" "node ./bin/ngc-watch.js"


> angular2-starter-project@1.0.0 ngc /Users/paulo/Developer/workspaces/node/angular2-starter-project
> ngc -p ./tsconfig.json

/Users/paulo/Developer/workspaces/node/angular2-starter-project/node_modules/@ngtools/webpack/src/plugin.js:127
        this._reflectorHost = new ngCompiler.ReflectorHost(this._program, this._compilerHost, this._angularCompilerOptions);
                              ^

TypeError: ngCompiler.ReflectorHost is not a constructor
    at AotPlugin._setupOptions (/Users/paulo/Developer/workspaces/node/angular2-starter-project/node_modules/@ngtools/webpack/src/plugin.js:127:31)
    at new AotPlugin (/Users/paulo/Developer/workspaces/node/angular2-starter-project/node_modules/@ngtools/webpack/src/plugin.js:35:14)
    at Object.<anonymous> (/Users/paulo/Developer/workspaces/node/angular2-starter-project/webpack/plugins.js:12:2)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)
    at Module.require (module.js:483:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (/Users/paulo/Developer/workspaces/node/angular2-starter-project/webpack.config.js:15:11)
    at Module._compile (module.js:556:32)
    at Object.Module._extensions..js (module.js:565:10)
    at Module.load (module.js:473:32)
    at tryModuleLoad (module.js:432:12)
    at Function.Module._load (module.js:424:3)

Mention any other details that might be useful.

My repository with the current problem: https://github.com/prsolucoes/angular2-starter-project

My plugin initialization:

let ngtools = require('@ngtools/webpack');
module.exports = [
	new ngtools.AotPlugin({
		tsConfigPath: './tsconfig.json',
		baseDir: path.join(process.cwd(), 'src'),
		entryModule: path.join(process.cwd(), 'src', 'app', 'modules', 'app.module') + '#AppModule'
	}),
....

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Reactions: 10
  • Comments: 47 (5 by maintainers)

Commits related to this issue

Most upvoted comments

I’m also seeing this issue with angular-cli 1.0.0-beta.22-1 + angular 2.3.0.

Also same problem.

Angular: 2.3.0 CLI: 1.0.0-beta.22-1

Same here with angular 2.3.0. Please re-open.

Same with my project too!

Angular: 2.3.0 CLI: 1.0.0-beta.22-1

I had the same issue; all that was required to fix it was to remove node_modules and run npm install.

If you’re using yarn you need to remove both node_modules and yarn.lock and run yarn afterwards. I suspect a dependency of a dependency is fixed in a newer version and you just need to update it.

Still does not work. This is ridiculous.

I was able to get the angular 2.3.0 working downgrading the angular-cli from version angular-cli@1.0.0-beta.22-1 to version angular-cli@1.0.0-beta.21. Now the error has gone.

I think this is due to the angular 2.2.2 moving ReflectorHost to @angular/language-service.

As a temporary workaround, I’ve locked my versions to 2.2.1 for @angular/*, 3.2.1 for @angular/router, 2.0.10 for typescript and everything seems to be building fine with AoT.

had the same problem with beta 24, try creating a new project , then copy your source folder to that new project. then modify config files as required. It worked for me.

Tried all suggested solutions still nothing working. @angular2.3 @ngtools/webpack 1.1.9

This is unreal. I can’t build my project about 2 weeks. Every combination of versions gives different errors.

Has progress?i has same issuse,i used webpack(2.1.0-beta.25) @angular(2.2.3) @ngtools/webpack(1.1.9)

Same issue here with 1.0.0-beta.23, as in (#3501, #3467 and #3367). Besides the problem building, I do not know why UNMET PEER DEPENDENCY message when installing latest CLI release.

ng --version

angular-cli: 1.0.0-beta.23
node: 6.9.2
os: win32 x64

npm ls --depth=0

+-- UNMET PEER DEPENDENCY @angular/common@2.3.1
+-- @angular/compiler@2.3.1
+-- @angular/compiler-cli@2.3.1
+-- UNMET PEER DEPENDENCY @angular/core@2.3.1
+-- @angular/forms@2.3.1
+-- @angular/http@2.3.1
+-- @angular/material@2.0.0-alpha.11-3
+-- UNMET PEER DEPENDENCY @angular/platform-browser@2.3.1
+-- @angular/platform-browser-dynamic@2.3.1
+-- @angular/router@3.2.3
+-- @types/hammerjs@2.0.33
+-- @types/jasmine@2.5.38
+-- @types/node@6.0.52
+-- angular-cli@1.0.0-beta.23
+-- angularfire2@2.0.0-beta.6
+-- codelyzer@2.0.0-beta.3
+-- core-js@2.4.1
+-- firebase@3.6.4
+-- font-awesome@4.7.0
+-- hammerjs@2.0.8
+-- jasmine-core@2.5.2
+-- jasmine-spec-reporter@2.5.0
+-- karma@1.2.0
+-- karma-chrome-launcher@2.0.0
+-- karma-cli@1.0.1
+-- karma-jasmine@1.1.0
+-- karma-remap-istanbul@0.2.2
+-- protractor@4.0.13
+-- UNMET PEER DEPENDENCY rxjs@5.0.0-rc.4
+-- ts-helpers@1.1.2
+-- ts-node@1.2.1
+-- UNMET PEER DEPENDENCY tslint@4.1.0
+-- typescript@2.0.10
`-- zone.js@0.7.2

npm ERR! peer dep missing: @angular/common@2.2.3, required by @angular/router@3.2.3
npm ERR! peer dep missing: @angular/core@2.2.3, required by @angular/router@3.2.3
npm ERR! peer dep missing: @angular/platform-browser@2.2.3, required by @angular/router@3.2.3
npm ERR! peer dep missing: rxjs@5.0.0-beta.12, required by @angular/router@3.2.3
npm ERR! peer dep missing: rxjs@5.0.0-beta.12, required by angularfire2@2.0.0-beta.6
npm ERR! peer dep missing: tslint@~4.0.0, required by codelyzer@2.0.0-beta.3
npm ERR! peer dep missing: @angular/compiler-cli@2.2.3, required by @ngtools/webpack@1.1.9
npm ERR! peer dep missing: @angular/core@2.2.3, required by @ngtools/webpack@1.1.9
npm ERR! peer dep missing: tslint@^3.0.0, required by tslint-loader@2.1.5

ng serve

ngCompiler.ReflectorHost is not a constructor
TypeError: ngCompiler.ReflectorHost is not a constructor
     at AotPlugin._setupOptions (.\node_modules\@ngtools\webpack\src\plugin.js:136:31)
     at new AotPlugin (.\node_modules\@ngtools\webpack\src\plugin.js:37:14)
     at Object.exports.getWebpackAotConfigPartial (.\node_modules\angular-cli\models\webpack-build-typescript.js:44:13)
     at new NgCliWebpackConfig (.\node_modules\angular-cli\models\webpack-config.js:25:42)
     at Class.run (.\node_modules\angular-cli\tasks\serve-webpack.js:20:22)
     at .\node_modules\angular-cli\commands\serve.js:108:26
     at process._tickCallback (internal/process/next_tick.js:103:7)

@Adrriver it worked well for me

sudo npm uninstall -g angular-cli
sudo npm install -g angular-cli@1.0.0-beta.21

I installed angular-cli@1.0.0-beta.21 locally.

@reginaldocmrg WOW that worked!

For those subscribed to this issue, there’s a bit more detail on another issue: https://github.com/angular/angular-cli/issues/3467#issuecomment-265814703

I’m not sure why HanZ closed this. Everything was working perfect for me with angular-cli-b21, this morning i update angular-cli-b22, tried to build, and i was looking at the error in my console. Same error mentioned above. I’m certain this has something to do with minor project configuration impedance, and you might like to call it a bug, no bug has ever stopped me before, so why would this one stop me now? And, no, I’m not rolling back any of dependencies, i keep everything on the bleeding edge.