161

NPM 2.11.3

我正在 Node.js 中构建一个库。这个库仅供我目前工作的公司使用。我认为这意味着许可证是“无”。但是当我npm init希望我使用 SPDX 许可证时。“无”或“未经许可”不是有效选项。

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

在 NPM GitHub 问题跟踪器上对此进行了一些讨论,但我找不到任何可以明确回答这个问题的东西。也许 NPM 不支持这个概念,但这似乎很奇怪。

在这种情况下,我应该为这个字段添加什么?我想摆脱与此相关的 npm 警告。

虽然文档说 UNLICENSED 是有效的,但它仍然给出警告:

$ cat package.json | grep licen
  "license": "UNLICENSED",

$ npm install 
npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression
4

4 回答 4

169

UNLICENSED根据npm 文档使用:

最后,如果您不希望在任何条款下授予他人使用私有或未发布包的权利:

{
  "license": "UNLICENSED"
}

这不应与被混淆地称为“无许可证”的许可证相混淆。

于 2016-01-28T18:28:33.863 回答
81

在撰写 UNLICENSED 时(请参阅问题中的代码示例)不是一个选项,请参阅jcollumns 答案

添加privatepackage.json将有助于:

"private": true
于 2017-09-25T06:31:05.010 回答
12

在此链接上的表格的第二列https://spdx.org/licenses/中,您可以看到在您的package.json.

列的名称Identifier以防万一。谢谢并希望它有所帮助。

于 2017-08-09T17:00:34.077 回答
-1

对我来说,我在代码中放入的任何许可证都不起作用。但后来我发现,父目录中有一个无效的 package.json。删除后,这解决了所有问题。

于 2021-08-20T08:57:16.283 回答