-
Notifications
You must be signed in to change notification settings - Fork 12k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Production build fails with message "Cannot read property 'input' of null" #4207
Comments
I don't know the cause of the issue as i did not invest enough time to understand the parsing of the configuration but if I change Line 347 in @ngtools/json-schema/src/schema-tree.js from it works again |
Can you show me your |
I actually provided it in the issue description under "Mention any other details that might be useful.". |
I'm having the same exact problem. |
I guess this is the root cause (related to Docker, not sure about other cases). When I have angular app under $HOME path, I got the same exact problem. When I move the angular app out of $HOME path, it works as expected, no error. |
@maylukas this configuration should work with your project:
|
@hoatle Thanks for taking the time to share this, can't say how happy I am to have this working finally! :) |
Today I've updated angular-cli and now I get this same error. |
@giertych97 That's unrelated to this particular issue. See here for a fix for the new release breaking builds: #4326 (comment) |
@filipesilva I have had the same issue in my production builds to Heroku since Beta 25 (Beta 24 & earlier worked great, however I just updated to Beta 28 & can confirm the issue still exists).
I believe it may have something to do with the JSON Schema feature added in Beta 25:
This does not happen when I kick off a build in my local environment This type of error message is similar to the ones seen when an npm package is missing a Types declaration file - unfortunately, one does not exist for the JSON Schema package. Maybe this is related to that? Another hunch is that it may be related to Linux. I made a comment on this in another thread a while back but didn't follow up until just now - here's a link for additional context Hopefully this provides some additional insight to the bug |
Maybe this will help. I accidentally called |
@dustintheweb did you find any solution? |
@dlimkin Thank you, it solved my problem! It seems like I had some old Angular files in the root of my home directory causing all Angular projects in there with later Angular-cli versions to fail. So by deleting all files and folders that doesn't belong to the home directory, it solves the problems and the errors disappears. |
@dlimkin solution works. Removing all the ng files from the home directory solved it. Thanks. |
For me, this issue is weirdly specific to a new build - only in my live production environment (Heroku / Ubuntu). Everything gets built fresh from the package.json on deploy (no old files), so no possibilities of similar Can anyone with a similar live production env also confirm that this is an issue? |
@dustintheweb I'm getting it too and only when building in Docker |
anyone using Docker, I recommend using this Docker image to get started https://hub.docker.com/r/teracy/angular-cli/tags/ or you can use this seed project https://github.com/teracyhq/angular-boilerplate that I'm working on I do not have any issues so far with these 2 projects. |
@hoatle Thanks for the tip! Unfortunately my project's openshift s2i environment doesn't allow me to use docker images (even though OC itself supports it), we're currently using: https://hub.docker.com/r/ryanj/centos7-s2i-nodejs/ which is itself pretty out of date, sigh. :( |
OSX 10.12.3 [RESOLVED]
I think my main issue was having a package.json in my |
To add to what others have mentioned, on Ubuntu if you have an Simplest way to see this behavior is to create an empty touch ~/angular-cli.json
git clone https://github.com/angular/angular-cli.git
cd angular-cli
npm install && npm test @filipesilva is this expected behaviour? UPDATE In the config design doc I see that it was proposed to use This is a serious limitation for anyone who wants to deploy with heroku/dokku/etc. where the app is always installed directly to the $HOME directory. Ways I think this could be resolved:
|
Thanks for all the work investigating this issue. @mikejpeters I can confirm this isn't intended and is in fact a bug. |
@sumitarora can you have another look at this? There's a couple more reports that seem to indicate some problem with the config merging logic:
|
Hi, I am changing the schema.js file manually and it works fine. But |
… are the same Addresses angular#4207
… are the same Addresses angular#4207
Still running into this (on dokku) with the latest version of the cli. |
The issue still exists on latest @angular/cli
on centos in aws. All was good until today morning when the error just popped up while running: on CentOS. Is there a fix? |
Thank you SO much @dlimkin |
The same issue for me with dokku today. Could we expect a fix? |
@ysilvestrov redefine HOME to any other directory before building, for example i have this in my package.json
The bug appears when $HOME contains a .angular-cli.json and since dokku puts the project in $HOME then the bug triggers |
… are the same Addresses angular#4207
Closing as version |
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
OS?
node:6.9.4 docker container
Versions.
node@v6.9.4
angular-cli@1.0.0-beta.26
Repro steps.
After an upgrade to 1.0.0-beta.26 from 1.0.0-beta.24 the app fails to build.
Build always starts with a clean docker container in which the following steps are run:
FROM node:6.9.4
WORKDIR /root/
RUN npm install angular-cli@1.0.0-beta.26 -g
COPY package.json ./package.json
RUN npm install
COPY src ./src/
COPY e2e ./e2e/
COPY angular-cli.json ./angular-cli.json
COPY protractor.conf.js ./protractor.conf.js
COPY karma.conf.js ./karma.conf.js
COPY tslint.json ./tslint.json
RUN ng build --prod
Prod build works when running on the development machine with Windows 7
The log given by the failure.
Cannot read property 'input' of null
TypeError: Cannot read property 'input' of null
at ObjectSchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sc
hema-tree.js:347:132)
at new ObjectSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:331:14)
at OneOfSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at /root/node_modules/@ngtools/json-schema/src/schema-tree.js:260:26
at Array.map (native)
at new OneOfSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:259:48)
at ArraySchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ArraySchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:434:39)
at new ArraySchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:414:14)
at ObjectSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/no
de_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ObjectSchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sc
hema-tree.js:347:47)
at new ObjectSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:331:14)
at ArraySchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/nod
e_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at ArraySchemaTreeNode._set (/root/node_modules/@ngtools/json-schema/src/sch
ema-tree.js:434:39)
at new ArraySchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/sche
ma-tree.js:414:14)
at RootSchemaTreeNode.NonLeafSchemaTreeNode._createChildProperty (/root/node
_modules/@ngtools/json-schema/src/schema-tree.js:244:24)
at RootSchemaTreeNode.ObjectSchemaTreeNode._set (/root/node_modules/@ngtools
/json-schema/src/schema-tree.js:347:47)
at RootSchemaTreeNode.ObjectSchemaTreeNode [as constructor] (/root/node_modu
les/@ngtools/json-schema/src/schema-tree.js:331:14)
at new RootSchemaTreeNode (/root/node_modules/@ngtools/json-schema/src/schem
a-tree.js:478:16)
at GeneratedSchemaClass.SchemaClassBase (/root/node_modules/@ngtools/json-sc
hema/src/schema-class-factory.js:66:29)
at new GeneratedSchemaClass (/root/node_modules/@ngtools/json-schema/src/sch
ema-class-factory.js:165:20)
at new CliConfig (/root/node_modules/angular-cli/models/config/config.js:24:
24)
at Function.CliConfig.fromConfigPath (/root/node_modules/angular-cli/models/
config/config.js:99:16)
at Function.CliConfig.fromProject (/root/node_modules/angular-cli/models/con
fig.js:63:44)
at Class.run (/root/node_modules/angular-cli/tasks/build-webpack.js:14:73)
at Class.buildRun (/root/node_modules/angular-cli/commands/build.run.js:39:2
2)
at Class.run (/root/node_modules/angular-cli/commands/build.js:38:47)
at Class. (/root/node_modules/angular-cli/ember-cli/lib/models/co
mmand.js:147:17)
at process._tickCallback (internal/process/next_tick.js:103:7)
The command '/bin/sh -c ng build --prod' returned a non-zero code: 1
Mention any other details that might be useful.
angular-cli.json
{
"project": {
"version": "1.0.0-alpha.2",
"name": "core-ui"
},
"apps": [
{
"root": "src",
"outDir": "dist",
"genDir": "gen",
"assets": ["assets"],
"index": "index.html",
"main": "main.ts",
"test": "test.ts",
"tsconfig": "tsconfig.json",
"prefix": "app",
"mobile": false,
"styles": [
"scss/style.scss"
],
"scripts": [
"../node_modules/pace-js/pace.min.js",
"../node_modules/chart.js/dist/Chart.bundle.min.js",
"../node_modules/chart.js/dist/Chart.min.js"
],
"environments": {
"source": "environments/environment.ts",
"dev": "environments/environment.ts",
"prod": "environments/environment.prod.ts"
}
}
],
"e2e": {
"protractor": {
"config": "./protractor.conf.js"
}
},
"test": {
"karma": {
"config": "./karma.conf.js"
}
},
"defaults": {
"styleExt": "scss",
"prefixInterfaces": false
}
}
The text was updated successfully, but these errors were encountered: