什么将条目行添加到我的 package.json,为什么?

What is adding entry lines to my package.json, and why?

我有一个我维护的 npm 包。某些东西——也许是 npm 本身——正在向 package.json 添加条目。它们以下划线字符开头:

"_args": [
  [
    {
      "raw": "some-cool-package@https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
      "scope": null,
      "escapedName": "some-cool-package",
      "name": "some-cool-package",
      "rawSpec": "https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
      "spec": "https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
      "type": "remote"
    },
    "C:\Users\mike\Documents\mycompany"
  ]
],
"_from": "some-cool-package@>=2.2.0 <3.0.0",
"_id": "some-cool-package@2.2.0",
"_inCache": true,
"_location": "/some-cool-package",
"_phantomChildren": {},
"_requested": {
  "raw": "some-cool-package@https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
  "scope": null,
  "escapedName": "some-cool-package",
  "name": "some-cool-package",
  "rawSpec": "https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
  "spec": "https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
  "type": "remote"
},
"_requiredBy": [
  "/"
],
"_resolved": "https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
"_shasum": "f0d5d982c15d63f653e48fff552400eb241b7407",
"_shrinkwrap": null,
"_spec": "some-cool-package@https://registry.npmjs.org/some-cool-package/-/some-cool-package-2.2.0.tgz",
"_where": "C:\Users\mike\Documents\mycompany",

添加这些条目是什么?

我应该将这些条目保留在我发布到 public npm 注册表的包中,还是删除它们?

我认为你是对的,NPM itself 将绝对 URL 放入 package.json 文件。

看来您不是唯一遇到此问题的人,而且似乎也没有修复它的计划(问题已于 2015 年 12 月 15 日关闭),不幸的是。

虽然一位评论者推荐 removeNPMAbsolutePaths 包来解决这个问题。

此问题已在 npm@5 中修复,如果您将发布者 npm 更新为 npm@5 并重新发布包,您会注意到其中一些额外条目已消失。