2017-08-15 38 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. 
相關問題