How to have yarn not issue a warning for the license field?
Javascriptnode.jspackage.jsonYarnpkgJavascript Problem Overview
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?
Javascript Solutions
Solution 1 - Javascript
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.
Solution 2 - Javascript
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 3 - Javascript
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 4 - Javascript
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 5 - Javascript
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.
- just cd ~, then you can find package.json & yarn.lock.
- rm -rf package.json or rm -rf yarn.lock
Solution 6 - Javascript
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 7 - Javascript
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 8 - Javascript
I had similar issue, i just upgraded the version of Node and every thing worked fine.....