2015-08-13 15 views
24

Ho un piccolo progetto node.js che è interno all'azienda e non verrà rilasciato pubblicamente o condiviso con terze parti. Certamente non sarà contribuito ad alcun repository di pacchetti pubblici.Licenza "Tutti i diritti riservati" in package.json

Ma quando corro npm install Ho sempre trovato il seguente errore:

npm WARN package.json <<myproject>>@0.1.0 license should be a valid SPDX license expression 

La licenza desiderata è: "diritto d'autore da noi e tutti i diritti riservati". Non sono riuscito a trovare nulla che fosse applicabile nello SPDX license list. Il suggerimento in this answer non funziona neanche. Se rimuovo semplicemente il campo license da package.json, l'errore passa a no license field.

Come posso ottenere npm install per mostrare errori o avvisi senza inserire un riferimento di licenza in là che non vogliamo usare?

risposta

42

Secondo la nuova specifica NPM è possibile utilizzare { "license": "UNLICENSED"} se non si vuole concedere ad altri il diritto di utilizzare un pacchetto privato o inedito sotto nessun termine.

prega di fare riferimento tutti i dettagli here

Quindi non si potrebbe ottenere l'errore lei ha citato.

+0

Questo è sicuramente ottimo per nessuna licenza, ma non aiuta se si desidera fare riferimento a una licenza esterna. – brandonscript

+3

Dalla stessa pagina di npmjs, "considera anche l'impostazione" privata ": true per impedire la pubblicazione accidentale." – bgth

+1

l'elenco SPDX contiene 'Unlicense' senza D finale e in maiuscolo. è questo a cui ti stai riferendo? sebbene nel guardarlo, non sembra che sarebbe la cosa giusta. non c'è 'UNLICENSED' nell'elenco – ekkis

16

Secondo l'ultimo docs for package.json:

If you are using a license that hasn't been assigned an SPDX identifier, or if you are using a custom license, use the following valid SPDX expression:

{ "license" : "SEE LICENSE IN <filename>" }

Then include a file named <filename> at the top level of the package.

Problemi correlati