Gabe O'Leary Gabe O'Leary - 6 months ago 772
JSON Question

npm post-install typings not working correctly

I have the following packages.json:

{
"name": "shopping-assistant-angular",
"version": "1.0.0",
"scripts": {
"start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"typings": "typings",
"postinstall": "typings install"
},
"license": "ISC",
"dependencies": {
"angular2": "2.0.0-beta.7",
"systemjs": "0.19.23",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.2",
"zone.js": "0.5.14"
},
"devDependencies": {
"bower": "^1.7.7",
"concurrently": "^1.0.0",
"grunt": "^0.4.5",
"grunt-chrome-manifest": "^0.3.0",
"grunt-contrib-clean": "^1.0.0",
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-copy": "^0.8.2",
"grunt-contrib-cssmin": "^0.14.0",
"grunt-contrib-htmlmin": "^0.6.0",
"grunt-contrib-uglify": "^0.11.1",
"grunt-filerev": "^2.3.1",
"grunt-ts": "^5.3.2",
"grunt-usemin": "^3.1.1",
"lite-server": "^2.0.1",
"load-grunt-tasks": "^3.4.0",
"typescript": "1.7.5",
"typings": "^0.6.8"
}
}


when I run npm install in my directory I get an error:
'typings' is not recognized as an internal or external command, operable program or batch file.


In the Angular 2 quick-start guide they use the following packages.json:

{
"name": "angular2-quickstart",
"version": "1.0.0",
"scripts": {
"start": "concurrent \"npm run tsc:w\" \"npm run lite\" ",
"tsc": "tsc",
"tsc:w": "tsc -w",
"lite": "lite-server",
"typings": "typings",
"postinstall": "typings install"
},
"license": "ISC",
"dependencies": {
"angular2": "2.0.0-beta.7",
"systemjs": "0.19.22",
"es6-promise": "^3.0.2",
"es6-shim": "^0.33.3",
"reflect-metadata": "0.1.2",
"rxjs": "5.0.0-beta.2",
"zone.js": "0.5.15"
},
"devDependencies": {
"concurrently": "^2.0.0",
"lite-server": "^2.1.0",
"typescript": "^1.7.5",
"typings":"^0.6.8"
}
}


Which successfully runs "typings install" after all of the packages are done install.

Not sure why running these very similar packages.json files are resulting in completely different outcomes.

Answer

Gabe O'Leary is right (see comment), first try to install typings globally npm install typings -g if you are using a mac you might need to use the sudo command sudo npm install typings -g