Categories
Android iOS Node.js npm piattaforme React Native

Node.js (3)

Nell’ultimo post abbiamo:

  • creato un progetto con Node.js,
  • installato un modulo con npm (nel progetto locale)

Oggi proveremo a installare un modulo globale

Articolo precedente:

Un modulo si può installare in almeno tre modi diversi, come in questi tre esempi:

npm install modulo
npm install --save-dev modulo
npm install -g modulo
  • il primo comando installa il modulo (come dipendenza) nella cartella locale del progetto (già visto e provato). Ad esempio, se si installa react-native-cli, questo dipenderà dal modulo react-native. Se queste dipendenze non sono soddisfatte non è possibile compilare ed eseguire il programma del progetto. Le dipendenze sono generate automaticamente nel file packages.json
  • il secondo comando installa il modulo come dipendenza per lo sviluppo. Ad esempio, eslint è un modulo utile per rilevare errori in compilazione, ma non è una vera dipendenza che è usata solo durante la fase di compilazione del progetto. Viene installato sempre nella cartella locale. Le dipendenze sono salvate automaticamente nel file packages.json
  • il terzo comando installa il modulo (come dipendenza) in modo globale. Cioè tutti i progetti potranno usare la stessa versione del modulo. La cartella di installazione potrebbe essere /usr/local oppure qualsiasi altro luogo dove è installato Node.js. Inoltre, questo tipo di installazione consente di usare il modulo anche direttamente dal terminale (a patto che esso contenga qualche script direttamente eseguibile)1

Articolo di approfondimento:

Quando si usa npm non è raro imbattersi in problemi di dipendenze tra moduli di terze parti, per colpa dei conflitti di versione, o moduli abbandonati. In questi casi si ottengono messaggi di warning nel terminale causati dalla gestione degli intervalli delle versioni delle dipendenze.

Questo è un esempio di output di npm che segnala questi problemi (da ignorare?)

added 12 packages, and audited 68 packages in 1s

4 packages are looking for funding
  run `npm fund` for details

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

Per controllare se abbiamo installato tutte le librerie necessarie ad un progetto, proviamo npm ls

$ nvm use node
$ cd progetto
$ npm ls --include=dev

Se hai installato Node.js usando nvm i moduli globali sono nella cartella locale dell’utente

Se hai installato Node.js usando un gestore apt, rpm, pacman (o simile), potresti avere questo errore

usando l’utente root react-native viene installato insieme a 700 altri moduli

  1. https://manpages.debian.org/unstable/npm/npm-global.5.en.html []

Leave a Reply