npm 说它无效 json 但 jsonlint.com 说它有效
npm says it is not valid json but jsonlint.com says it is valid
所以基本上这是 package.json 的 json 文件,我将 npm install 用于:(如果有人想知道的话,它是 github 上的 angularfire-seed 项目)
{
"name": "angularfire-seed",
"description": "A starter project for Angular + Firebase with AngularFire",
"version": "1.0.0",
"homepage": "https://github.com/firebase/angularfire-seed",
"repository": "https://github.com/angular/angular-seed",
"private": true,
"license": "MIT",
"devDependencies": {
"karma": "~0.10",
"protractor": "~0.20.1",
"http-server": "^0.6.1",
"bower": "^1.3.1",
"shelljs": "^0.2.6"
},
"scripts": {
"postinstall": "bower install",
"prestart": "npm install",
"start": "http-server -a localhost -p 8000",
"pretest": "npm install",
"test": "karma start karma.conf.js",
"test-single-run": "karma start karma.conf.js --single-run",
"preupdate-webdriver": "npm install",
"update-webdriver": "webdriver-manager update",
"preprotractor": "npm run update-webdriver",
"protractor": "protractor e2e-tests/protractor-conf.js",
"update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\/\/@@NG_LOADER_START@@[\s\S]*\/\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\n' + cat('app/bower_components/angular-loader/angular-loader.min.js') + '\n//@@NG_LOADER_END@@', 'app/index-async.html');\""
}
}
但我不断收到来自 NPM 的错误消息,它说它 "failed to parse json" 和 "package.json must be actual JSON, not just Javascript"(错误代码 EJSONPARSE)但是 jsonlint.com 说它是有效的 JSON 格式。到底是怎么回事?我该怎么做才能从命令行真正成功 运行 "npm install"。
$ npm install semver
$ node
> var semver = require('semver');
> semver.valid("~0.10"); // returns null
null
据此:https://docs.npmjs.com/files/package.json,您的所有版本号都应符合 node-semver。
Git 允许数字版本号。而 npm 没有。
所以在你的情况下,
依赖版本号需要采用 major.minor.patch
in package.json.
格式
所以基本上这是 package.json 的 json 文件,我将 npm install 用于:(如果有人想知道的话,它是 github 上的 angularfire-seed 项目)
{
"name": "angularfire-seed",
"description": "A starter project for Angular + Firebase with AngularFire",
"version": "1.0.0",
"homepage": "https://github.com/firebase/angularfire-seed",
"repository": "https://github.com/angular/angular-seed",
"private": true,
"license": "MIT",
"devDependencies": {
"karma": "~0.10",
"protractor": "~0.20.1",
"http-server": "^0.6.1",
"bower": "^1.3.1",
"shelljs": "^0.2.6"
},
"scripts": {
"postinstall": "bower install",
"prestart": "npm install",
"start": "http-server -a localhost -p 8000",
"pretest": "npm install",
"test": "karma start karma.conf.js",
"test-single-run": "karma start karma.conf.js --single-run",
"preupdate-webdriver": "npm install",
"update-webdriver": "webdriver-manager update",
"preprotractor": "npm run update-webdriver",
"protractor": "protractor e2e-tests/protractor-conf.js",
"update-index-async": "node -e \"require('shelljs/global'); sed('-i', /\/\/@@NG_LOADER_START@@[\s\S]*\/\/@@NG_LOADER_END@@/, '//@@NG_LOADER_START@@\n' + cat('app/bower_components/angular-loader/angular-loader.min.js') + '\n//@@NG_LOADER_END@@', 'app/index-async.html');\""
}
}
但我不断收到来自 NPM 的错误消息,它说它 "failed to parse json" 和 "package.json must be actual JSON, not just Javascript"(错误代码 EJSONPARSE)但是 jsonlint.com 说它是有效的 JSON 格式。到底是怎么回事?我该怎么做才能从命令行真正成功 运行 "npm install"。
$ npm install semver
$ node
> var semver = require('semver');
> semver.valid("~0.10"); // returns null
null
据此:https://docs.npmjs.com/files/package.json,您的所有版本号都应符合 node-semver。
Git 允许数字版本号。而 npm 没有。
所以在你的情况下,
依赖版本号需要采用 major.minor.patch
in package.json.