npm WARN package.json:没有存储库字段

时间:2013-05-30 04:18:44

标签: node.js express npm

我使用以下命令安装了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.

我是Node.js和Express.js的新手。为什么我有上述警告?我应该担心吗?

11 个答案:

答案 0 :(得分:1157)

这只是对NPM v1.2.20的检查,他们将此报告为警告。

但是,不要担心, sooooooo 许多软件包仍然没有repository中的package.json字段。该字段用于提供信息。

如果您是包裹作者,请将repository放在package.json中,如下所示:

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

详细了解repository字段,有关详细信息,请参阅logged bug


此外, as originally reported by @dan_nl,您可以在private中设置package.json键。
这不仅可以阻止您在应用中意外运行npm publish,还可以阻止NPM打印有关package.json问题的警告。

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

答案 1 :(得分:368)

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

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

答案 2 :(得分:47)

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

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

更新:此功能未记录,可能无效。选择以下选项。

更好的是:直接设置private标志。这样,npm也不会要求README文件:

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

答案 3 :(得分:40)

如果您是从自己的package.json获取此内容,只需将repository字段添加到其中即可。 (使用指向实际存储库的链接):

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

答案 4 :(得分:8)

你运行npm init了吗?那个命令可以帮助你完成所有事情......

答案 5 :(得分:8)

简单字 - 您项目的package.json没有存储库的属性 你必须要添加它,

您必须在package.json中添加存储库,如下所示

enter image description here

让我根据您的情况解释

您必须添加类似下面的存储库字段

{{1}}

答案 6 :(得分:6)

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

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

这对我有用。
添加private,您无需链接到回购。

答案 7 :(得分:5)

为避免出现类似以下警告:

npm WARN project.com@1.0.0 No repository field.

您必须在项目package.json中定义存储库。 如果您正在开发而没有发布到存储库,则可以在package.json

中设置"private": true

示例:

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

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

答案 8 :(得分:4)

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

npm ls dist-tag

这将显示正确的信息,因此您不必猜测版本文件位置等

享受:)

答案 9 :(得分:2)

是的,您可以通过在命令末尾加-f来重新创建一个

答案 10 :(得分:1)

使用     npm install -g angular-cli 代替
    npm install -g @ nagular / cli 安装Angular