How to have yarn not issue a warning for the license field?
For yarn
and npm
, the default behavior is that they look up into the parent directories.
I had an outdated and forgotten package.json
in my home folder without a license field:
~/package.json
When running yarn install
within my project:
~/my-project/package.json
yarn
then also found the one in my home directory and reported the error for that one. I mistook that for my project's package.json
.
The warning makes that clear by preceding the path with ..
for the parent folder.
warning ../package.json: No license field
After removing that outdated package.json
I get the expected output:
yarn install v0.27.5[1/4] Resolving packages...success Already up-to-date.Done in 0.88s.
I was getting the following warning along with some other licensing warnings.
warning package.json: No license fieldwarning react-material-dashboard@0.3.0: 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#privatehttps://flaviocopes.com/package-json/#private
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