Al ejecutar la yarn install , veo una advertencia cada vez que no hay una licencia archivada, aunque he definido una:
$ jq . package.json { "name": "license-example", "version": "1.0.0", "main": "index.js", "license": "UNLICENSED", "dependencies": { "lodash": "^4.17.4", "moment": "^2.18.1" } }que de acuerdo con la definición de npm debería ser válido:
Finalmente, si no desea otorgar a otros el derecho a usar un paquete privado o no publicado bajo ningún término:
{ "license": "UNLICENSED" }
Aquí está la salida:
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.Mi objetivo principal es que esa advertencia desaparezca, pero tampoco quiero proporcionar una LICENCIA de código abierto no válida para que desaparezca la advertencia, incluso si es un proyecto interno que nunca se verá en el exterior.
¿Cómo marcar un proyecto de hilo como propietario sin que aparezca una advertencia?
Para yarn y npm , el comportamiento predeterminado es que buscan en los directorios principales.
Tenía un package.json desactualizado y olvidado en mi carpeta de inicio sin un campo de licencia:
~/package.json Al ejecutar la yarn install dentro de mi proyecto:
~/my-project/package.json yarn luego también encontró el que está en mi directorio de inicio e informó el error para ese. Lo confundí con el package.json de mi proyecto.
La advertencia lo deja claro al preceder la ruta con .. para la carpeta principal.
warning ../package.json: No license field Después de eliminar ese package.json obsoleto.json, obtengo el resultado esperado:
yarn install v0.27.5 [1/4] Resolving packages... success Already up-to-date. Done in 0.88s.Recibí la siguiente advertencia junto con otras advertencias de licencia.
warning package.json: No license field warning react-material-dashboard@0.3.0: No license field Todo lo que hice fue actualizar la propiedad private del archivo package.json para que sea true .
{ "name": "some-application-name", "author": "Keet Sugathadasa", "email": "email", "license": "MIT", "version": "0.0.1", "private": true, ... } Con esto, ya no recibí ninguna advertencia No license field cuando realizo la yarn install . Para entender por qué, por favor vea esta pregunta .
{"private": true} significa que npm se negará a publicarlo para evitar la publicación accidental de repositorios privados.
Para obtener más información sobre esto, consulte los siguientes enlaces. https://docs.npmjs.com/files/package.json#private https://flaviocopes.com/package-json/#private
Mire más de cerca el mensaje:
advertencia ../package.json: Sin campo de licencia
Se refiere a un paquete.json un nivel de directorio superior.
Solucione eso ingresando un campo de licencia o privado: verdadero o elimínelo porque probablemente no debería estar allí de todos modos ;-)