2016-10-10 92 views
0

我刚刚下载了node.js,我试图从package.json安装一些依赖关系,并且我不断收到相同的错误。我尝试了最新版本和LTS,并且都给出了同样的错误。从package.json安装依赖关系时出错

package.json

{ 
    "name": "snake-ch3", 
    "dependencies": { 
     "express": "*", 
     "express-generator": "*" 
    }, 
    "devDependencies": { 
     "grunt": "~0.4.5", 
     "grunt-browserify": "~3.4.0", 
     "grunt-contrib-uglify": "~0.8.0", 
     "grunt-contrib-watch": "~0.6.1" 
    } 
} 

和错误:

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 'install' ] 
2 info using [email protected] 
3 info using [email protected] 
4 verbose readDependencies loading dependencies from C:\Users\Julian\Desktop\node\ch3\package.json 
5 error install Couldn't read dependencies 
6 verbose stack Error: Failed to parse json 
6 verbose stack No data, empty input at 1:1 
6 verbose stack 
6 verbose stack^
6 verbose stack  at parseError (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:390:11) 
6 verbose stack  at parseJson (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:79:23) 
6 verbose stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:48:5 
6 verbose stack  at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16 
6 verbose stack  at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:380:3) 
7 verbose cwd C:\Users\Julian\Desktop\node\ch3 
8 error Windows_NT 10.0.14393 
9 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" 
10 error node v4.6.0 
11 error npm v2.15.9 
12 error file C:\Users\Julian\Desktop\node\ch3\package.json 
13 error code EJSONPARSE 
14 error Failed to parse json 
14 error No data, empty input at 1:1 
14 error 
14 error^
15 error File: C:\Users\Julian\Desktop\node\ch3\package.json 
16 error Failed to parse package.json data. 
16 error package.json must be actual JSON, not just JavaScript. 
16 error 
16 error This is not a bug in npm. 
16 error Tell the package author to fix their package.json file. JSON.parse 
17 verbose exit [ 1, true ] 

我验证了JSON上https://jsonformatter.curiousconcept.com/,寻找与 “Windows_NT 10.0.14393” JSON解析错误,我没有得到任何东西。

我重新安装了几次节点,所以它不是节点或下载问题。任何人都可以告诉我,如果我做错了什么?

EDIT

我只是tryied运行npm init与所有默认值,然后编辑它,所以它具有"dependencies""devDependencies"和它的作品突然。我尝试了再次按照之前的方式做这件事,而我也遇到了同样的错误。

现在看起来是这样的:

的package.json

{ 
    "name": "snake-game", 
    "version": "1.0.0", 
    "description": "a simple snake game", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "Julian Avar", 
    "dependencies": { 
    "express": "*", 
    "express-generator": "*" 
    }, 
    "devDependencies": { 
     "grunt": "~0.4.5", 
     "grunt-browserify": "~3.4.0", 
     "grunt-contrib-uglify": "~0.8.0", 
     "grunt-contrib-watch": "~0.6.1" 
    } 
} 
+0

请确保'npm config获取注册表'返回'http:// registry.npmjs.org /'_without https_ –

+0

您是从某处复制此文件还是自己创建它?如果你自己创造它,你是如何创造它的? – Paul

+0

如果没有,使用'npm config set registry http:// registry.npmjs.org /'来设置它,然后尝试安装你的软件包 –

回答

1

我注意到,在许多Windows程序制作的文件往往会在前面加上个字节的文本的方式,将防止基于Unix程序正确读取它们(特别是如果Unix程序期望像JSON文件那样的结构)。从@ robertklep的评论中,我认为它是一个字节顺序标记,但是我现在从未知道它的名字。

推荐的方法,使package.json避免这种事情是从你的命令行中运行npm init,既避免OS wonkiness并确保你有一个最低限度的有效package.json当一切都说过和做过。

+0

谢谢保罗,从现在起会这样做 –