web-dev-qa-db-ja.com

ライセンスフィールドに警告を発行しないようにするにはどうすればよいですか?

実行中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.

私の主な目標は、その警告が消えることですが、外部に表示されることのない内部プロジェクトであっても、警告を無効にするための無効なオープンソースライセンスを提供したくありません。

警告を表示せずに糸プロジェクトを専用としてマークする方法は?

17
k0pernikus

Yarnおよびnpmのデフォルトの動作は、親ディレクトリを検索することです。

ライセンスフィールドなしでホームフォルダーにpackage.jsonという古くて忘れられていたものがありました。

~/package.json

プロジェクト内でyarn installを実行する場合:

~/my-project/package.json

それから、yarnは私のホームディレクトリにあるものを見つけ、そのエラーを再移植しました。私のプロジェクトの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.
39
k0pernikus