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

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

NPM从package.json安装依赖项

来自分类Dev

如何调整npm package.json?

来自分类Dev

npm package.json脚本未被调用

来自分类Dev

如何覆盖npm包的package.json

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

来自分类Dev

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

Related 相关文章

  1. 1

    npm安装不读取package.json

  2. 2

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

  3. 3

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

  4. 4

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

  5. 5

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

  6. 6

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

  7. 7

    NPM从package.json安装依赖项

  8. 8

    如何调整npm package.json?

  9. 9

    npm package.json脚本未被调用

  10. 10

    如何覆盖npm包的package.json

  11. 11

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

  12. 12

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

  13. 13

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

  14. 14

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

  15. 15

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

  16. 16

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

  17. 17

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

  18. 18

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

  19. 19

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

  20. 20

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

  21. 21

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

  22. 22

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

  23. 23

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

  24. 24

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

  25. 25

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

  26. 26

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

  27. 27

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

  28. 28

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

  29. 29

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

热门标签

归档