npm"未能解析json"

时间:2015-07-16 12:47:41

标签: node.js ubuntu npm

当我尝试使用npm安装express时,我总是会收到以下错误:

Failed to parse json
No data, empty input at 1:1
File: /root/.npm/inherits/2.0.1/package/package.json
Failed to parse package.json data.
package.json must be actual JSON, not just JavaScript.

This is not a bug in npm.
Tell the package author to fix their package.json file. JSON.parse

我做错了什么?

 sudo npm install -g express

OS是Ubuntu 12.04(精确)armhf

20 个答案:

答案 0 :(得分:97)

感谢来自Jivingsthis comment

JFrame

解决了这个问题。

答案 1 :(得分:5)

我遇到了同样的问题,但是" npm cache clean"没有为我解决它。我不得不回到我的package.json并意识到我有逗号它不应该如下所示:

},
  "devDependencies": {
    "axios": "^0.15.3",
    "bootstrap-sass": "^3.3.7",
    "cross-env": "^3.2.4",
    "jquery": "^3.1.1",
    "laravel-mix": "0.*",
    "lodash": "^4.17.4",
    "vue": "^2.1.10",
  }

" vue ..."所以我删除了它,每一次都恢复正常。因此,在运行 npm cache clean

之前,首先要检查package.json文件是否值得

答案 2 :(得分:4)

在Laravel项目中:

  1. 删除' node_modules'文件夹中;
  2. npm cache clean
  3. npm update

答案 3 :(得分:3)

我在运行npm install时也收到了相同的错误消息,首先运行npm package.json来检查package.json文件中的错误,如果没有则运行npm cache clean

答案 4 :(得分:3)

大多数情况下,此错误是由于package.json文件中的语法错误引起的。 在我的例子中,package.json中依赖关系对象的开口大括号丢失了: -

代码--------------------------------

{
  "name": "psrxjs",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": 
    "rxjs": "^5.4.3"
  }
}

答案 5 :(得分:0)

除了Pank's answer以外,如果您遇到这种错误

npm ERR! code EJSONPARSE
npm ERR! JSON.parse Failed to parse json
npm ERR! JSON.parse Unexpected token } in JSON at position 550 while parsing near '...eact": "^7.12.4",
npm ERR! JSON.parse   },
npm ERR! JSON.parse   "dependencies":...'
npm ERR! JSON.parse Failed to parse package.json data.
npm ERR! JSON.parse package.json must be actual JSON, not just JavaScript.

您需要确保您的package.json是有效的json,而不是JavaScript。

答案 6 :(得分:0)

不执行 npm init 可能会导致此错误。

答案 7 :(得分:0)

对我来说,此问题已通过更改软件包名称来解决 来自

"name": "portfolio"

"name": "portfolio2"

答案 8 :(得分:0)

1。基本上是由于逗号的错误放置而引起的,因此请删除错误位置的逗号(在关闭package.json中的花括号('}')之前,将逗号(,)放置会发生esp错误,因此请调查一下。解决方案

  1. 运行

sudo npm缓存清理

sudo chown -R 1000:1000“ ... path / .npm”

答案 9 :(得分:0)

删除任何不必要的注释,您引用的错误通常是由于语法错误而发生。或者,如果这样做没有帮助,请尝试通过“ npm cache clean”清理缓存。

答案 10 :(得分:0)

对于像我这样的新手,我忘记了使用npm init命令初始化JSON包。

答案 11 :(得分:0)

我通过以下步骤解决了该问题:

  1. 删除node_modules文件夹

  2. 删除package-lock.json文件

  3. 运行npm install

  4. 运行npm start

答案 12 :(得分:0)

我认为您可能在 package.json 中做了一些更改,但这是无效的

  1. 删除 node_modules
  2. 删除 package.json
  3. 使用以下方法创建新的NPM程序包

npm init

  1. 再次安装所有软件包

npm install express

答案 13 :(得分:0)

请检查package.json文件中是否有未使用的空格,这可能是由多余的空格引起的。

答案 14 :(得分:0)

在习惯使用NPM之前,我曾多次遇到此问题。大部分时间是因为在npm install之前我无法使用npm init

答案 15 :(得分:0)

以下bash脚本会自动修复问题

#!/usr/bin/env bash
echo -e '#!/usr/bin/env bash' > npm_install.sh
cat npm-debug.log | grep 'error File:' | sed -n 's:.*error File\: \(.*\):echo "Removing \1"\nrm -f \1\necho "Cleaning npm cache"\nnpm cache clean\necho "Reinstalling npm"\nnpm install\n./npm_reinstall.sh:p' >> npm_install.sh
chmod +x npm_install.sh
./npm_install.sh

应该保存到npm_reinstall.sh 并使用

授予执行权限
chmod +x npm_reinstall.sh

该脚本正在执行以下任务:

  1. 使用grep
  2. 查找错误文件:在npm-debug.log中
  3. 仅在出现错误时使用sed生成修复命令
  4. 从正则表达式中的第一个组中删除空文件 rm -f / 1 =文件路径。*错误文件:(。*)
  5. 清理npm缓存 npm缓存
  6. 重新安装npm npm install
  7. 递归运行./npm_reinstall.sh直到找不到错误
  8. 有关npm install的更多信息,请访问this

答案 16 :(得分:0)

就我而言 Missing a comma somewhere in a package.json检查package.json文件。  之后sudo npm install

清理缓存。 sudo npm cache clean

答案 17 :(得分:0)

我在Windows 10上更新Node后遇到了类似的问题。我的本地构建任务开始失败,经过调查我在依赖包package.json文件中看到了所有这些错误。它们都不再是有效的JSON,我看到的消息如下:

npm WARN Failed to parse json
npm WARN Unexpected token '\u0019' at 1:1
npm WARN ������2�����bE�;���1L �\5�e���k2?��,?;��쏏a��(T��w��+I��/�6�P} ��i�|e�
npm WARN ^

在我的控制台中。

这个故事有一个圆满的结局,因为事实证明新节点与旧的NPM并不好玩,并且将NPM更新到版本5解决了这个问题。希望这有助于其他可能在这个问题上遇到这种变化的人。

答案 18 :(得分:-1)

尝试打开你的txt编辑器并选择"纯文本"为package.json然后重新保存。有时问题被忽视了,简单的事情就是答案。

答案 19 :(得分:-1)

不要忘记编辑package.json,特别是依赖项。

例如,我的一个聊天室项目需要package.json中的以下内容:

{
    "name":"chatrooms",
    "version":"0.0.1",
    "description":"Minimalist multi-room chat server",
    "dependencies":{
        "socket.io":"~0.9.6",
        "mime":"~1.2.7"
    }
}