我用下面的命令安装Express.js:

sudo npm install -g express

我得到以下警告:

npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json github-url-from-git@1.1.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.

为什么我有上述警告?我应该担心吗?


这只是NPM v1.2.20的检查,他们报告这是一个警告。

但是,不要担心,仍然有很多包在package.json中没有存储库字段。该字段用于提供信息。

如果您是包的作者,请将存储库放在包中。Json,像这样:

"repository": {
  "type": "git",
  "url": "git://github.com/username/repository.git"
}

阅读有关存储库字段的更多信息,并查看已记录的错误以获得更多详细信息。


此外,正如@dan_nl最初报告的那样,您可以在package.json中设置私钥。 这不仅会阻止你不小心在你的应用中运行npm publish,而且还会阻止npm打印关于包的警告。json的问题。

{
  "name": "my-super-amazing-app",
  "version": "1.0.0",
  "private": true
}

如果你从你自己的包裹里拿到这个。Json,只需添加存储库字段。(使用链接到您的实际存储库):

"repository" : { 
   "type" : "git",
   "url" : "https://github.com/npm/npm.git"
 }

如果不打算将应用程序放在实际的存储库中,也可以将其标记为私有。

{
  "name": "my-application",
  "version": "0.0.1",
  "private": true
}

正如dan_nl所述,您可以在package.json中添加一个私有的伪存储库。你甚至不需要它的名称和版本:

{
  ...,
  "repository": {
    "private": true
  }
}

更新:此功能没有文档记录,可能无法工作。选择以下选项。

更好的方法是:直接设置私有标志。这样npm也不会请求README文件:

{
  "name": ...,
  "description": ...,
  "version": ...,
  "private": true
}

你运行过npm init吗?这条命令贯穿了你的一切……


是的,也许你可以在命令末尾加上-f来重新/创建一个


这将帮助你们所有人找到自己正确的细节用法

npm ls dist-tag

这将显示正确的信息,这样你就不会猜测版本文件的位置等

享受:)


简单地说—— 包中。您项目的Json没有存储库属性 你必须加上它,

你必须在包中添加存储库。像下面这样的Json

让我根据你的情况来解释

您必须像下面这样添加存储库字段

  "repository" : {     
     "type" : "git",
      "url" : "http://github.com/npm/express.git" 
   }

如果不想指定存储库,可以将以下行添加到包中。json文件:

"description":"",
"version":"0.0.1",
"private":true,

这对我很管用。 通过添加private,您不需要链接到回购。


避免以下警告:

npm WARN project.com@1.0.0 No repository field.

你必须在你的项目package.json中定义repository。 如果你在开发过程中没有发布到存储库,你可以在package.json中设置"private": true

例子:

{
  "name": "test.loc",
  "version": "1.0.0",
  "private": true,
  ...
  "license": "ISC"
}

关于这方面的NPM文档:https://docs.npmjs.com/files/package.json


使用 NPM install -g angular-cli 而不是 NPM安装-g@nagular/cli 安装Angular


试一试: NPM安装package.json NPM审计修复力, 中央大学- u