首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从package.json安装依赖项时出错

从package.json安装依赖项时出错
EN

Stack Overflow用户
提问于 2016-10-10 05:49:20
回答 1查看 522关注 0票数 0

我刚刚下载了node.js,并试图从package.json安装几个依赖项,并且一直收到相同的错误。我尝试了最新的版本和LTS,两者都给出了相同的错误。

package.json

代码语言:javascript
复制
{
    "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"
    }
}

和错误:

代码语言:javascript
复制
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 npm@2.15.9
3 info using node@v4.6.0
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 ]

我在https://jsonformatter.curiousconcept.com/上验证了json,并查找与"Windows_NT 10.0.14393“相关的json解析错误,但没有得到任何信息。

我重新安装了几次节点,所以它不是节点,也不是加载问题。有人能告诉我我是否做错了什么吗?

编辑

我只是尝试用所有的默认值运行npm init,然后编辑它,这样它就有了"dependencies""devDependencies",而且它突然起作用了。我试着像以前那样再做一次,我也犯了同样的错误。

现在看起来是这样的:

package.json

代码语言:javascript
复制
{
  "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"
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-10 12:31:54

我注意到,在许多Windows程序中生成的文件通常会以字节的方式在文本前面加上字节,从而阻止基于Unix的程序正确读取它们(尤其是如果Unix程序需要类似于JSON文件的结构)。在@robertklep的评论中,我猜想这是一个Byte Order Mark,但我以前从未知道过它的名称。

制作package.json以避免这种情况的推荐方法是从命令行运行npm init,这样既可以避免操作系统的麻烦,也可以确保您在完成所有操作时都有一个最小有效的package.json

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39951977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档