Questo è il comando npm-install che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
npm-install - Installa un pacchetto
SINOSSI
npm install (senza argomenti, nella directory del pacchetto)
npm install [<@scope>/]
npm install [<@scope>/] @
npm install [<@scope>/] @
npm install [<@scope>/] @
installazione npm
installazione npm
installazione npm
alias: npm i
opzioni comuni: [-S|--save|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [--dry-run]
DESCRIZIONE
Questo comando installa un pacchetto e tutti i pacchetti da cui dipende. Se il pacchetto ha un
Shrinkwrap file, l'installazione delle dipendenze sarà guidata da quello. Vedi l'aiuto di npm
termoretraibile.
A pacchetto è:
· a) una cartella contenente un programma descritto da un help npm 5 pacchetto.json filetto
· b) un tarball con gzip contenente (a)
· c) un URL che si risolve in (b)
· d) a @ che viene pubblicato sul registro (vedi npm help 7 npm-registro)
con (c)
· e) a @ che punta a (d)
· fa che ha un tag "ultimo" soddisfacente (e)
· g) un <git a distanza URL> che si risolve in (a)
Anche se non pubblichi mai il tuo pacchetto, puoi comunque ottenere molti vantaggi dall'utilizzo di npm
se vuoi solo scrivere un programma nodo (a), e forse se vuoi anche essere in grado di farlo
installarlo facilmente altrove dopo averlo imballato in un tarball (b).
· npm install (nella directory del pacchetto, nessun argomento):
Installa le dipendenze nella cartella node_modules locale.
In modalità globale (cioè con -g or --globale aggiunto al comando), installa il
contesto del pacchetto corrente (cioè la directory di lavoro corrente) come pacchetto globale.
Per impostazione predefinita, npm install installerà tutti i moduli elencati come dipendenze in npm help 5
pacchetto.json.
Grazie alla --produzione bandiera (o quando il NODO_ENV la variabile d'ambiente è impostata su
produzione), npm non installerà i moduli elencati in dipendenze di sviluppo.
· npm install :
Installa un pacchetto che si trova in una cartella sul filesystem.
· npm install <tarball file>:
Installa un pacchetto che si trova sul filesystem. Nota: se vuoi solo collegare un
dev nella tua root npm, puoi farlo più facilmente usando npm link.
Esempio:
npm installa ./package.tgz
· npm install <tarball URL>:
Recupera l'URL del tarball, quindi installalo. Per distinguere tra questo e
altre opzioni, l'argomento deve iniziare con "http://" o "https://"
Esempio:
installazione npm https://github.com/indexzero/forever/tarball/v0.5.6
· npm install [<@scope>/] [-S|--save|-D|--save-dev|-O|--save-opzionale]:
Fare un @ installare, dove è il "tag" config. (Vedi npm help 7
npm-config.)
Nella maggior parte dei casi, questo installerà l'ultima versione del modulo pubblicata su npm.
Esempio:
npm installa sax
npm install accetta 3 flag esclusivi e opzionali che salvano o aggiornano la versione del pacchetto in
il tuo pacchetto principale.json:
· -S, --Salva: Il pacchetto apparirà nel tuo dipendenze.
· -D, --save-dev: Il pacchetto apparirà nel tuo dipendenze di sviluppo.
· -Oh, --salva-opzionale: Il pacchetto apparirà nel tuo opzionaleDipendenze.
Quando si utilizza una delle opzioni di cui sopra per salvare le dipendenze nel proprio package.json, c'è un
flag aggiuntivo, opzionale:
· - Ehi, --salva-esatto: Le dipendenze salvate verranno configurate con una versione esatta piuttosto
rispetto all'utilizzo dell'operatore di intervallo semver predefinito di npm.
Inoltre, se hai un npm-shrinkwrap.json poi sarà anche aggiornato.
è facoltativo. Il pacchetto verrà scaricato dal registro associato al
ambito specificato. Se nessun registro è associato all'ambito specificato, il registro predefinito è
presunto. Vedi npm help 7 ambito npm.
Nota: se non includi il simbolo @ nel nome dell'ambito, npm lo interpreterà come a
Repository GitHub invece, vedi sotto. Anche i nomi degli ambiti devono essere seguiti da una barra.
Esempi:
npm installa sax --save
npm installa githubname/reponame
npm installa @myorg/privatepackage
npm installa node-tap --save-dev
npm installa dtrace-provider --save-opzionale
npm installa readable-stream --save --save-exact
Note:: Se è presente un file o una cartella denominata nella directory di lavoro corrente, quindi
proverà a installarlo e proverà a recuperare il pacchetto solo per nome se non è valido.
· npm install [<@scope>/] @:
Installa la versione del pacchetto a cui fa riferimento il tag specificato. Se il tag
non esiste nei dati di registro per quel pacchetto, allora questo fallirà.
Esempio:
npm installa sax@latest
npm installa @myorg/mypackage@latest
· npm install [<@scope>/] @:
Installa la versione specificata del pacchetto. Questo fallirà se la versione non lo ha fatto
stato pubblicato in anagrafe.
Esempio:
installazione di npm [email protected]
installazione di npm @myorg/[email protected]
· npm install [<@scope>/] @ gamma>:
Installa una versione del pacchetto che corrisponda all'intervallo di versioni specificato. Questo sarà
seguire le stesse regole per la risoluzione delle dipendenze descritte in npm help 5 pacchetto.json.
Nota che la maggior parte degli intervalli di versione deve essere racchiusa tra virgolette in modo che la tua shell lo tratti
come un unico argomento.
Esempio:
npm install sax@">=0.1.0 <0.2.0"
npm install @myorg/privatepackage@">=0.1.0 <0.2.0"
· npm install <git a distanza URL>:
Installa il pacchetto dal provider git ospitato, clonandolo con git. Prima ci prova
tramite https (git con github) e se fallisce, tramite ssh.
://[ [: ]@] [: ][:][/] [# ]
è uno dei git, git+ssh, git+http, o git+https. Se no is
specificato, quindi Mastercard viene utilizzato.
Le seguenti variabili di ambiente git sono riconosciute da npm e verranno aggiunte a
ambiente durante l'esecuzione di git:
· GIT_ASKPASS
· GIT_PROXY_COMMAND
· GIT_SSH
· GIT_SSH_COMMAND
· GIT_SSL_CAINFO
· GIT_SSL_NO_VERIFICA
Vedi la pagina man di git per i dettagli.
Esempi:
npm installa git+ssh://[email protected]:npm/npm.git#v1.0.27
npm installa git+https://[email protected]/npm/npm.git
npm installa git://github.com/npm/npm.git#v1.0.27
GIT_SSH_COMMAND=´ssh -i ~/.ssh/ident_custom´ npm installa git+ssh://[email protected]:npm/npm.git
· npm install / [# ]:
· npm install github: / [# ]:
Installa il pacchetto su https://github.com/githubname/githubrepo tentando di clonare
usando git.
Se non specifichi a commettere-ish poi Mastercard verrà utilizzato.
Esempi:
npm installa mygithubuser/myproject
npm installa github:mygithubuser/myproject
· npm install sintesi:[ /] [# ]:
Installa il pacchetto su https://gist.github.com/gistID tentando di clonarlo usando
git. Il nome utente GitHub associato all'essenza è facoltativo e non verrà salvato in
pacchetto.json if -S or --Salva viene utilizzato.
Se non specifichi a commettere-ish poi Mastercard verrà utilizzato.
Esempio:
npm install gist: 101a11beef
· npm install bitbucket: / [# ]:
Installa il pacchetto su https://bitbucket.org/bitbucketname/bitbucketrepo tentando
per clonarlo usando git.
Se non specifichi a commettere-ish poi Mastercard verrà utilizzato.
Esempio:
npm installa bitbucket:mybitbucketuser/myproject
· npm install gitlab: / [# ]:
Installa il pacchetto su https://gitlab.com/gitlabname/gitlabrepo tentando di clonare
usando git.
Se non specifichi a commettere-ish poi Mastercard verrà utilizzato.
Esempio:
npm installa gitlab:mygitlabuser/myproject
Puoi combinare più argomenti e anche più tipi di argomenti. Per esempio:
npm install sax@">=0.1.0 <0.2.0" supervisore da banco
Le --etichetta verrà applicato a tutte le destinazioni di installazione specificate. Se un tag con il
il nome specificato esiste, la versione con tag è preferita rispetto alle versioni più recenti.
Le --funzionamento a secco l'argomento riporterà nel solito modo cosa avrebbe fatto l'installazione
senza installare nulla.
Le -f or --vigore l'argomento forzerà npm a recuperare le risorse remote anche se una copia locale
esiste su disco.
npm installa sax --force
Le -g or --globale argomento farà sì che npm installi il pacchetto globalmente anziché
localmente. Vedi npm help 5 npm-cartelle.
Le --stile globale argomento farà sì che npm installi il pacchetto nel tuo locale
nodi_moduli cartella con lo stesso layout che usa con il global nodi_moduli cartella. Soltanto
le tue dipendenze dirette verranno mostrate in nodi_moduli e tutto ciò da cui dipendono sarà
appiattito nel loro nodi_moduli cartelle. Questo ovviamente eliminerà alcune deduplicazioni.
Le --legacy-raggruppamento argomento farà sì che npm installi il pacchetto in modo tale che le versioni di
npm prima della 1.4, come quella inclusa con il nodo 0.8, può installare il pacchetto. Questo
elimina tutta la deduplicazione automatica.
Le --collegamento L'argomento farà sì che npm colleghi le installazioni globali nello spazio locale in alcuni
casi.
Le --nessun-bin-link l'argomento impedirà a npm di creare collegamenti simbolici per qualsiasi binario il
pacchetto potrebbe contenere.
Le --no-opzionale argomento impedirà l'installazione delle dipendenze facoltative.
Le --nessun involucro termoretraibile argomento, che ignorerà un file di contorno semplificato disponibile e utilizzerà il
pacchetto.json invece.
Le --nodedir=/percorso/al/nodo/sorgente l'argomento consentirà a npm di trovare il codice sorgente del nodo così
che npm può compilare moduli nativi.
Le --only={prod[uction]|dev[sviluppo]} l'argomento causerà solo l'uno o l'altro dipendenze di sviluppo or
solo non-dipendenze di sviluppo da installare indipendentemente dal NODO_ENV.
Vedi npm help 7 npm-config. Molti dei parametri di configurazione hanno qualche effetto su
installazione, poiché è la maggior parte di ciò che fa npm.
ALGORITMO
Per installare un pacchetto, npm utilizza il seguente algoritmo:
carica l'albero node_modules esistente dal disco
clonare l'albero
prendi il pacchetto.json e i metadati assortiti e aggiungili al clone
percorri il clone e aggiungi le dipendenze mancanti
le dipendenze verranno aggiunte il più vicino possibile all'inizio
senza rompere nessun altro modulo
confrontare l'albero originale con l'albero clonato e fare un elenco di
azioni da intraprendere per convertire l'uno nell'altro
eseguire tutte le azioni, prima la più profonda
i tipi di azioni sono installa, aggiorna, rimuovi e sposta
Per questo pacchetto {dep} struttura: LA{B,C}, AVANTI CRISTO}, CD}, questo algoritmo produce:
A
+-- SI
+-- Do
+-- RE
Cioè, la dipendenza da B a C è soddisfatta dal fatto che A ha già fatto sì che C sia
installato a un livello superiore. D è ancora installato al livello superiore perché niente
contrasta con esso.
Per LA{B,C}, SI{DO,RE@1}, DO{RE@2}, questo algoritmo produce:
A
+-- SI
+-- Do
`-- D@2
+-- D@1
Poiché D@1 di B sarà installato al livello più alto, C ora deve installare D@2 privatamente per
stessa.
Vedere le cartelle npm help 5 per una descrizione più dettagliata delle strutture di cartelle specifiche
che npm crea.
Limiti of npm's Installazione Algoritmo
Ci sono alcuni casi limite molto rari e patologici in cui un ciclo può far sì che npm tenti di farlo
installa un albero infinito di pacchetti. Ecco il caso più semplice:
A -> B -> A´ -> B´ -> A -> B -> A´ -> B´ -> A -> ...
where A è una versione di un pacchetto e UN è una versione diversa dello stesso pacchetto.
Perché B dipende da una versione diversa di A di quello che è già nell'albero, è
deve installare una copia separata. Lo stesso vale per UN, che deve installare B. Perché B
dipende dalla versione originale di A, che è stato sovrascritto, il ciclo cade in
regresso infinito.
Per evitare questa situazione, npm flat-out si rifiuta di installarne uno nome@versione questo è già
presente ovunque nell'albero degli antenati della cartella del pacchetto. Un più corretto, ma di più
complesso, la soluzione sarebbe quella di collegare simbolicamente la versione esistente nella nuova posizione. Se questo
mai influirà su un caso d'uso reale, sarà indagato.
Utilizzare npm-install online utilizzando i servizi onworks.net