'How to have yarn not issue a warning for the license field?

On running yarn install I see a warning every time that there is no license filed even though I have defined one:

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

which according to the npm defintion should be valid:

Finally, if you do not wish to grant others the right to use a private or unpublished package under any terms:

{ "license": "UNLICENSED" }

Here's the output:

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.

My main goal is for that warning to disappear, yet I also don't want to provide an invalid open-source LICENSE to make the warning go away, even if it is an internal project that never will be seen on the outside.

How to mark a yarn project as proprietary without a warning appearing?



Solution 1:[1]

I was getting the following warning along with some other licensing warnings.

warning package.json: No license field
warning [email protected]: No license field

All I did was, update the package.json file's private property to be true.

{
  "name": "some-application-name",
  "author": "Keet Sugathadasa",
  "email": "email",
  "license": "MIT",
  "version": "0.0.1",
  "private": true,
  ...
}

With this, I no longer got any No license field warnings when I do yarn install. To understand why, please see this question.

{"private": true} means, that npm will refuse to publish it, to prevent accidental publication of private repositories.

For more on this, see the following links. https://docs.npmjs.com/files/package.json#private https://flaviocopes.com/package-json/#private

Solution 2:[2]

Take a closer look at the message:

warning ../package.json: No license field

It's referring to a package.json one directory level higher.
Fix that one by either entering a license field or a privat: true or delete it because it probably should not be there anyway ;-)

Solution 3:[3]

After trying multiple solutions, i found there were following files in root, need to delete:

cd ~
~$ rm -rf package.json
~$ rm -rf yarn.lock
~$ rm -rf package-lock.json

Solution 4:[4]

I got stuck in the same error and I found that when we add package.json or yarn, some files can be there in the system roots. So, the errors are from there the system root. You can simply remove those files and the error will not be there anymore.

  1. just cd ~, then you can find package.json & yarn.lock.
  2. rm -rf package.json or rm -rf yarn.lock

Solution 5:[5]

I am new to the react, but I find, the most simplest way is: just add the "private": true, to your package.json file. That's it.

Solution 6:[6]

Just make sure you are in the directory that contains the package.json file, then just yarn or npm install then serve it as you please.

I am currently running a project without the license field and it works perfectly, I don't think that can return an error.

Also, see more information regarding the mandatory fields you need for your package to run and other tips regarding the package.json file with yarn/npm:

https://classic.yarnpkg.com/en/docs/package-json/

https://docs.npmjs.com/files/package.json

Solution 7:[7]

I had similar issue, i just upgraded the version of Node and every thing worked fine.....

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Gernot Ullrich
Solution 3 Tahir Abbas
Solution 4 Keet Sugathadasa
Solution 5 Danson
Solution 6 Larry DaBig Meech
Solution 7 Sybghat