好吧,所以我重新安装了NodeJS 9.5.0,并仔细检查了npm是否在最新版本(5.6.0)上,到目前为止,我一直在从package.json文件运行简单脚本方面遇到问题。

这是我在package.json文件下的内容。

{
  "name": "hello_world",
  "version": "1.0.0",
  "description": "lab-4-hello-world-app",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
    "start": "node index.js"
  },
  "author": "Java Drinker",
  "license": "ISC"
}


这是我的index.js。值得庆幸的是,Node可以从cli正常运行。

    console.log("Hello Java Drinker!");


在此之下是从尝试运行带有调试日志的“启动”脚本时收到的错误消息。

npm ERR! file C:\test\package.json
npm ERR! code EJSONPARSE
npm ERR! Failed to parse json
npm ERR! Unexpected string in JSON at position 187 while parsing '{
npm ERR!   "name": "hello_world",
npm ERR!   "version": '
npm ERR! File: C:\test\package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! Tell the package author to fix their package.json file. JSON.parse


2018-02-22T07_49_53_423Z-debug.log

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'start' ]
2 info using npm@5.6.0
3 info using node@v9.5.0
4 verbose stack Error: Failed to parse json
4 verbose stack Unexpected string in JSON at position 187 while parsing '{
4 verbose stack   "name": "hello_world",
4 verbose stack   "version": '
4 verbose stack     at parseError (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:436:11)
4 verbose stack     at parseJson (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:104:26)
4 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:51:5
4 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16
4 verbose stack     at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:528:3)
5 verbose cwd C:\test
6 verbose Windows_NT 10.0.16299
7 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "start"
8 verbose node v9.5.0
9 verbose npm  v5.6.0
10 error file C:\test\package.json
11 error code EJSONPARSE
12 error Failed to parse json
12 error Unexpected string in JSON at position 187 while parsing '{
12 error   "name": "hello_world",
12 error   "version": '
13 error File: C:\test\package.json
14 error Failed to parse package.json data.
14 error package.json must be actual JSON, not just JavaScript.
14 error
14 error Tell the package author to fix their package.json file. JSON.parse
15 verbose exit [ 1, true ]


我想补充一点,就是我可以正常运行npm -v了,但是似乎其他任何命令都会给我带来错误。我猜我没有正确安装npm ..?

最佳答案

确保您的package.json文件有效。在提供的示例中,您需要在,脚本之后(第6行的结尾)添加缺少的逗号test

{
  "name": "hello_world",
  "version": "1.0.0",
  "description": "lab-4-hello-world-app",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "node index.js"
  },
  "author": "Java Drinker",
  "license": "ISC"
}

09-16 13:17