Quando si esegue npm install --save somepackage
, di solito aggiunge qualcosa di simile in package.json:Fai `npm installare --save` aggiungere una versione rigorosa per package.json
"dependencies": {
"somepackage": "^2.1.0"
}
Poiché la versione viene anteposto con un accento circonflesso (^), questo significa che se successivamente si esegue npm install
, potrebbe invece installare la versione 2.3.0. Questo può essere indesiderabile per ragioni abbastanza ovvie. npm shrinkwrap
è utile, ma in realtà non risolve il problema.
Così, ho alcune domande:
- Quando si installa un pacchetto, è possibile specificare che si desidera che sia impostato su una versione specifica in package.json (senza accento circonflesso prima che il numero di versione) ?
- Quando si pubblica un pacchetto su npm, esiste un modo per impedire l'impostazione predefinita di includere il punto di inserimento prima della versione quando altri sviluppatori installano il pacchetto?
Se si desidera solo fare questo per un pacchetto specifico, è possibile aggiungere '--save-exact' alla riga di comando. Ad esempio, 'npm install --save --save-exact somepackage'. – gilly3
Related https://www.npmjs.com/package/strict-version –
questo solo salva solo le esatte versioni dei tuoi "pacchetti di livello superiore" - quelli specificati in "pacchetto.json", ma non funzionerà per nessuno i pacchetti da cui dipendono i 'pacchetti di livello superiore'. https://yarnpkg.com/ risolvere il problema con il file 'yarn.lock' in modo da avere sempre esatte versioni di tutti i tuoi pacchetti. – Kuncevic