2017-08-15 34 views
3

在运行yarn install我看到一个警告,每次有,即使我已经定义了一个没有牌照申请:如何让纱线不会对许可证字段发出警告?

$ jq . package.json 
{ 
    "name": "license-example", 
    "version": "1.0.0", 
    "main": "index.js", 
    "license": "UNLICENSED", 
    "dependencies": { 
    "lodash": "^4.17.4", 
    "moment": "^2.18.1" 
    } 
} 

其中根据npm defintion应该是有效的:

最后,如果你不希望授予他人使用的私人 或未发表的包权下的任何条款:

{ "license": "UNLICENSED" } 

下面是输出:

yarn install 
yarn install v0.27.5 
warning ../package.json: No license field 
[1/4] Resolving packages... 
success Already up-to-date. 
Done in 0.09s. 

我的主要目标是为警告消失,但我也不想提供一个无效的开源许可证,使预警走的方式,即使是内部项目永远不会在外面看到。

如何在不出现警告的情况下将纱线项目标记为prop propary?

+2

奇怪。如果配置正确,不要看它是如何发生的。纱线基本上检查它是一个字符串:https://github.com/yarnpkg/yarn/blob/e177c3732e6cd2adb468427d06a3bbcd2a5e4356/src/util/normalize-manifest/validate.js#L78尝试设置“{”私人“:真正的”完全跳过检查。 –

+0

我不认为它是'.license'。它是'LICENSE' - 全部大写,没有扩展。 – Andy

+0

重复检查,无法重现。是否有机会获得一个可以重现问题的构造package.json? –

回答

0

Yarn和npm的默认行为是它们查找父目录。

我有一个过时的,在我的主文件夹忘package.json不用其他许可证场:

~/package.json 

当运行我的项目中yarn install

~/my-project/package.json 

然后,纱线也发现了一个在我家目录并重新排序该错误。我误以为我的项目的package.json

警告通过在父文件夹的前面加上..来清除警告。

warning ../package.json: No license field 

去除过时package.json我得到的预期输出后:

yarn install v0.27.5 
[1/4] Resolving packages... 
success Already up-to-date. 
Done in 0.88s. 
相关问题