npm install无法读取package.json

吊顶鱼

我正在尝试管理我的节点程序包依赖项。我希望能够通过运行命令来安装所有必需的依赖项,并且据我所读,实现此目的的一种方法是使用package.json文件并运行npm install所以我的JSON文件如下所示:

{
 "name": "Name-Of-The-Thing",
 "description": "The Thing's Name",
 "author": "The Dude <[email protected]>",
 "dependencies": {
      "mocha":">= 1.12.0",
      "mocha-phantomjs":">= 3.1.0",
      "chai":">= 1.7.2",
      "phantomjs":">= 1.9.1"
 }
}

但是npm install报告以下错误:

npm ERR! Failed to parse json
npm ERR! Unexpected token ?
npm ERR! File: C:\Path\To\The\Thing\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

npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "test"
npm ERR! cwd C:\Path\To\The\Thing
npm ERR! node -v v0.8.15
npm ERR! npm -v 1.1.66
npm ERR! file C:\Path\To\The\Thing\package.json
npm ERR! code EJSONPARSE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Path\To\The\Thing\npm-debug.log
npm ERR! not ok code 0

有人知道为什么吗?

迈恩·斯托尔

正确答案:

您的编辑器会在JSON文件中添加字节顺序标记,这会使八位字节流成为无效的JSON文本。

JSON RFC说:

JSON文本应以Unicode编码。默认编码为UTF-8。

由于JSON文本的前两个字符始终是ASCII字符[RFC0020],因此可以确定八位字节流是UTF-8,UTF-16(BE或LE)还是UTF-32(BE或LE)通过查看前四个八位位组中的空值模式。

       00 00 00 xx  UTF-32BE
       00 xx 00 xx  UTF-16BE
       xx 00 00 00  UTF-32LE
       xx 00 xx 00  UTF-16LE
       xx xx xx xx  UTF-8

由于上述原因,您提到错误报告已关闭。

据我了解,任何有效的ASCII编码文本也恰好是有效的UTF-8,因此,加上没有BOM表,它解释了为什么现在可以按预期工作。

通常,我认为您应该设置文本编辑器以将文件保存为UTF-8,且不带字节顺序标记。请参见UTF-8和不带BOM的UTF-8有什么区别?进行讨论。Per Node.js源代码需要什么编码?,Node.js将在以这种方式编码的JS源文件中接受非ASCII字符。当您要在源代码中的某个地方嵌入非ASCII字符串时,这可能会很方便。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

npm安装错误-无效的package.json

来自分类Dev

npm package.json bin在Windows上不起作用

来自分类Dev

更改package.json中的npm默认插入符(^)

来自分类Dev

为什么在“ npm install express”之后我的目录中没有package.json?

来自分类Dev

如何使用package.json和npm install安装bower?

来自分类Dev

npm package.json脚本未被调用

来自分类Dev

package.json与“ npm install%s -g”

来自分类Dev

npm package.json和docker(正在安装...)

来自分类Dev

npm过时不尊重package.json的插入符号

来自分类Dev

使用npm + package.json管理Cordova插件

来自分类Dev

npm install packagename --save-dev不更新package.json

来自分类Dev

npm install与编辑package.json和npm更新

来自分类Dev

如何调整npm package.json?

来自分类Dev

使用与package.json不同的配置使用npm

来自分类Dev

NPM从package.json安装依赖项

来自分类Dev

npm install因错误“安装无法读取依赖项”而终止

来自分类Dev

npm安装不读取package.json

来自分类Dev

“ npm install [package]”不会更新package.json

来自分类Dev

npm install不会将依赖项保存到package.json

来自分类Dev

Nodemon无法在Docker上使用来自package.json的npm脚本

来自分类Dev

`npm install`在node:10.21.0-jessie-slim Dockerimage上的package-lock.json失败

来自分类Dev

如何覆盖npm包的package.json

来自分类Dev

npm install不会在react应用程序中修改package.json

来自分类Dev

为什么在“ npm install express”之后我的目录中没有package.json?

来自分类Dev

无法读取Windows上的依赖项npm install

来自分类Dev

package.json与“ npm install%s -g”

来自分类Dev

npm install因错误“安装无法读取依赖项”而终止

来自分类Dev

为什么`npm install`与此特定的`package.json`挂在一起?

来自分类Dev

为什么我的 package.json 没有被 npm install 更新?

Related 相关文章

  1. 1

    npm安装错误-无效的package.json

  2. 2

    npm package.json bin在Windows上不起作用

  3. 3

    更改package.json中的npm默认插入符(^)

  4. 4

    为什么在“ npm install express”之后我的目录中没有package.json?

  5. 5

    如何使用package.json和npm install安装bower?

  6. 6

    npm package.json脚本未被调用

  7. 7

    package.json与“ npm install%s -g”

  8. 8

    npm package.json和docker(正在安装...)

  9. 9

    npm过时不尊重package.json的插入符号

  10. 10

    使用npm + package.json管理Cordova插件

  11. 11

    npm install packagename --save-dev不更新package.json

  12. 12

    npm install与编辑package.json和npm更新

  13. 13

    如何调整npm package.json?

  14. 14

    使用与package.json不同的配置使用npm

  15. 15

    NPM从package.json安装依赖项

  16. 16

    npm install因错误“安装无法读取依赖项”而终止

  17. 17

    npm安装不读取package.json

  18. 18

    “ npm install [package]”不会更新package.json

  19. 19

    npm install不会将依赖项保存到package.json

  20. 20

    Nodemon无法在Docker上使用来自package.json的npm脚本

  21. 21

    `npm install`在node:10.21.0-jessie-slim Dockerimage上的package-lock.json失败

  22. 22

    如何覆盖npm包的package.json

  23. 23

    npm install不会在react应用程序中修改package.json

  24. 24

    为什么在“ npm install express”之后我的目录中没有package.json?

  25. 25

    无法读取Windows上的依赖项npm install

  26. 26

    package.json与“ npm install%s -g”

  27. 27

    npm install因错误“安装无法读取依赖项”而终止

  28. 28

    为什么`npm install`与此特定的`package.json`挂在一起?

  29. 29

    为什么我的 package.json 没有被 npm install 更新?

热门标签

归档