我用下面的命令安装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
}
正如dan_nl所述,您可以在package.json中添加一个私有的伪存储库。你甚至不需要它的名称和版本:
{
...,
"repository": {
"private": true
}
}
更新:此功能没有文档记录,可能无法工作。选择以下选项。
更好的方法是:直接设置私有标志。这样npm也不会请求README文件:
{
"name": ...,
"description": ...,
"version": ...,
"private": true
}
避免以下警告:
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