【问题标题】:Why am I getting Unexpected token '\u0000' when using npm install -g package为什么我在使用 npm install -g package 时得到 Unexpected token '\u0000'
【发布时间】:2015-10-11 10:08:52
【问题描述】:

这可能是特定于 Windows 的问题,但我在谷歌上搜索此问题时没有找到任何信息。我一直在使用依赖于 Cordova(或 Phonegap)的 ionic 框架。但是,问题并不特定于这些包中的任何一个。我经常看到这个错误。所以,错误是当我运行如下命令时:

npm install -g cordova

但是,我可以替换各种其他包并得到相同的错误。我将在错误消息下方粘贴 sn-p(非常简短)。奇怪的是,我之前有一个离子项目在该目录中工作。然后今天它告诉我找不到离子。我的直觉是,这与我在这里描述的主要问题不同。

我安装了 git bash,所以我确实有一个可以尝试的类似 linux 的环境。我只会选择 Git Bash 作为 bash 窗口,其中包含各种 bash 命令。如果有更简单的方法可以为 Windows 用户解决此问题,请告诉我。我在 Pluralsight 上看过课程,讲师们似乎很乐意毫无问题地使用 npm。此外,当我使用 yeoman 时,在某些情况下,我也会遇到同样的错误。
错误是

npm ERR! Failed to parse json
npm Unexpected token '\u0000' at 1:1
npm ERR!
npm ERR! ^
npm ERR! File: c:\Users\Bruce\AppData\Roaming\npm-cache\amdefine\1.0.0\package\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! This is not a bug in npm
npm ERR! Tell the package author to fix their package.json file. JSON.parse.

提前感谢您的任何帮助/建议, 布鲁斯

【问题讨论】:

    标签: node.js windows cordova ionic-framework ionic


    【解决方案1】:

    通过this question on SO,您可能只需要这样做:

    npm cache clean.

    但是,也可以尝试那里建议的其他方法,例如添加注册表选项:

    npm install <packagename> --registry http://registry.npmjs.org/.

    或者,如果您一直在自己与package.json 文件混合,请检查它是否有效。

    【讨论】:

    • 我很抱歉没有早点发表评论。我一直在聊天并得到了与您首先建议的相同的答案,即清理缓存。我将不得不检查其他相关问题和 --registry 标志,因为我不知道这一点。但是,不,我没有与 package.json 文件混在一起,这些是 npmjs.org 上可用软件包的全新安装......不过,我确实尝试使用 install 命令而不是 update 来更新它们。
    • 没问题,所以基本上缓存清理到底有帮助,还是重新安装?
    • FWIW,我只需要清理缓存。
    猜你喜欢
    • 2017-12-06
    • 1970-01-01
    • 2014-04-11
    • 2016-05-29
    • 1970-01-01
    • 1970-01-01
    • 2017-12-14
    • 2017-06-15
    • 2018-09-04
    相关资源
    最近更新 更多