Come disinstallare completamente Node.js e reinstallarlo dall'inizio (Mac OS X)


1291

La mia versione del nodo è sempre v0.6.1-pre anche dopo aver installato brew node e NVM install v0.6.19.

La mia versione del nodo è:

node -v
v0.6.1-pre

NVM dice questo (dopo aver installato una versione del nodo per la prima volta in un terminale bash):

nvm ls
v0.6.19
current:    v0.6.19

Ma quando riavvio bash, questo è quello che vedo:

nvm ls
v0.6.19
current:    v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)

Quindi dov'è questo nodo fantasma 0.6.1-pre versione e come posso liberarmene? Sto cercando di installare librerie tramite NPM in modo da poter lavorare su un progetto.

Ho provato a utilizzare BREW per aggiornare prima di NVM, usando brew updatee brew install node. Ho provato a eliminare la directory "node" in my /usr/local/includee i "node" e "node_modules" in my /usr/local/lib. Ho provato a disinstallare npm e reinstallarlo seguendo queste istruzioni.

Tutto questo perché stavo cercando di aggiornare una versione precedente del nodo per installare la libreria "zipstream". Ora ci sono cartelle nella mia directory utenti e la versione del nodo STILL non è aggiornata, anche se NVM afferma che sta usando 0.6.19.

Idealmente, mi piacerebbe disinstallare nodejs, npm e nvm e reinstallare tutto da zero sul mio sistema.



/ usr / bin / node è un altro ...
Aaron Blenkush,

1
questo potrebbe aiutare per chiunque abbia installato il nodo tramite il file pkg. superuser.com/questions/36567/…
karthikeayan il

Mac 10.13.5 ha / Users / myusername / node_modules dovrei cancellare anche questa cartella? Ho cercato in questo thread, ma sembra che nessuno abbia affrontato questo problema
vikramvi,

@Pacerier anche dopo aver seguito le istruzioni in gist, esiste ancora nodo e npm su Mac OS 10.13.5
vikramvi

Risposte:


1699

Apparentemente, c'era una /Users/myusername/localcartella che conteneva un includecon nodee libcon nodee node_modules. Come e perché questo è stato creato invece che nella mia /usr/localcartella, non lo so.

L'eliminazione di questi riferimenti locali ha corretto phantom v0.6.1-pre. Se qualcuno ha una spiegazione, la sceglierò come risposta corretta.

MODIFICARE:

Potrebbe essere necessario eseguire anche le istruzioni aggiuntive:

sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

che è l'equivalente di (come sopra) ...

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp 

o (come sopra) suddiviso ...

Per disinstallare completamente il nodo + npm è necessario:

  1. vai su / usr / local / lib ed elimina qualsiasi nodo e node_modules
  2. vai su / usr / local / include ed elimina qualsiasi nodo e directory node_modules
  3. se hai installato con il nodo di installazione brew , esegui il nodo di disinstallazione brew nel tuo terminale
  4. controlla la tua directory Home per qualsiasi cartella locale o lib o include , ed elimina qualsiasi nodo o node_modules da lì
  5. vai su / usr / local / bin ed elimina qualsiasi nodo eseguibile

Potrebbe anche essere necessario fare:

sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d

Inoltre, NVM modifica la variabile PATH in $HOME/.bashrc, che deve essere ripristinata manualmente .

Quindi scaricare nvm e seguire le istruzioni per installare il nodo. Le ultime versioni di node sono fornite con npm , credo, ma puoi anche reinstallare anche quelle.


83
Ho anche dovuto rm -rf /Users/[homedir]/.npm.
brokenindexfinger,

17
Necessario rimuovere anche/Users/[homedir]/.nvm
n0pe il

42
Ho anche corso brew doctore poi brew pruneripulito un sacco di collegamenti simbolici rotti per NPM.
Chris Jacob,

54
Ho messo insieme una sceneggiatura che ora ho testato in battaglia. Grazie @DominicTancredi funziona alla grande! gist.github.com/brock/5b1b70590e1171c4ab54
brock

13
Ho anche dovuto aggiungere: sudo rm -rf ~/.node-gyp. L'avevo aggiunto con MacPorts prima di passare alla produzione di birra.
GESii

519

Per gli utenti della birra, OSX :

Rimuovere:

brew uninstall node; 
# or `brew uninstall --force node` which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;

Installare:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

È possibile eseguire brew info nodeper ulteriori dettagli sulle installazioni del nodo.


considerare l'utilizzo di NVM invece di brew

NVM (gestore versione nodo) è una soluzione portatile per la gestione di più versioni di nodo

https://github.com/nvm-sh/nvm

> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
         v4.2.0
         v5.8.0
        v6.11.0
->       v8.1.2
         system

puoi utilizzarlo con AVN per cambiare automaticamente versione mentre passi da un progetto all'altro con dipendenze tra nodi differenti.


2
Come impostare env vars in modo che nodo e npm siano disponibili dopo tale installazione?
Maxim V. Pavlov,

13
Potrebbe essere necessario eseguire brew con il --forceflag per assicurarsi che tutte le versioni del nodo siano rimosse: $ brew uninstall --force node
magikMaker

-bash: /usr/local/bin/npm: No such file or directorycosa posso fare ora?
ValRob

5
> "considera l'utilizzo di NVM invece della birra"; Ironia della sorte è possibile installare NVM con brew !; Ottimo consiglio, grazie.
HankCa

2
L'uso di NVM ha aiutato.
coderpc,

186

So che questo post è un po 'datato ma volevo solo condividere i comandi che hanno funzionato per me in Terminal durante la rimozione di Node.js.

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

AGGIORNARE: 23 SEP 2016


Se hai paura di eseguire questi comandi ...

Grazie jguixper this quick tutorial.

Innanzitutto, crea un file intermedio:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt

Rivedi manualmente il tuo file (situato nella tua Homecartella)

 ~/filelist.txt

Quindi eliminare i file:

cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

Per 10.10.5 e versioni successive

Grazie Lenar Hoyt

Fonte del commento Gist: gistcomment-1572198

Gist originale: TonyMtz/d75101d9bdf764c890ef

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | while read f; do sudo rm /usr/local/${f}; done

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*

15
Whoa-- questo è terrificante. Almeno il primo "rm" non è un "rm -rf", che, se c'è una riga vuota sull'output di sbom, rimuove tutto / usr / local. Prima di fare qualcosa di così pesante, controlla l'output di sbom e da dove provengono tutte queste directory e assicurati di sapere esattamente cosa stai rimuovendo.
Don Hatch,

16
Dovrei aggiungere ... se hai un sano istinto di autoconservazione, dovrebbe essere estremamente difficile per te digitare o copiare e incollare quel secondo comando, che inizia con "sudo rm -rf /", a tutti. Uno starnuto o il gatto salta sulla tastiera e hai distrutto il tuo filesystem.
Don Hatch,

2
È org.nodejs.node.pkg.bominvece di org.nodejs.pkg.bom.
Lenar Hoyt,

1
@DonHatch copia la riga senza la prima lettera in modo che inizi con udo..e quindi anteponi sprima di eseguirla.
martedì

1
Il comando lsbom genera percorsi relativi in ​​modo che lo script stesse cercando di eliminare percorsi che sembravano /usr/local/./node/yada. Per rimuovere il ./prefisso ho usato il filtro di taglio: lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | cut -c 3- | while read f; do sudo rm /usr/local/${f}; done
timiscodifica il

142

Su Mavericks lo installo dal nodo pkg (dal sito nodejs) e lo disinstallo in modo da poterlo reinstallare usando brew. Eseguo solo 4 comandi nel terminale:

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew uninstall node
  3. brew doctor
  4. brew cleanup --prune-prefix

Se è ancora presente un'installazione del nodo, ripetere il passaggio 2. Dopo tutto è ok, installo usando brew install node


50
1 ha funzionato, ma 2 ha esito negativo. Ottengo "nessun tale barile: usr / local / Cellar / node"
Positivo

Sì, questo è il migliore se hai Mavericks
Dicer,

1
L'ho provato ma ho riscontrato di nuovo lo stesso errore Errore: il brew linkpassaggio non è stato completato correttamente
Chandni,

Grazie, perfetto, tranne che dovevo aggiungere --force per preparare la disinstallazione
Medhi,

1
FYI: Al momento in cui scrivo -->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Mike S.

33
  1. Primo:

    lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done
    
    sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
  2. Per ricapitolare, il modo migliore (ho trovato) di disinstallare completamente il nodo + npm è quello di fare quanto segue:

    vai a /usr/local/libed elimina qualsiasi nodo e node_modules

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. vai a /usr/local/includeed elimina qualsiasi nodo e directory node_modules

    cd /usr/local/include
    
    sudo rm -rf node*
  4. se hai installato con brew install node, quindi esegui brew uninstall nodenel tuo terminale

    brew uninstall node
  5. controlla la tua cartella Home per qualsiasi cartella "local" o "lib" o "include" ed elimina qualsiasi "nodo" o "node_modules" da lì

    vai su / usr / local / bin ed elimina qualsiasi nodo eseguibile

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
  6. Potrebbe essere necessario eseguire anche le istruzioni aggiuntive:

    sudo rm -rf /usr/local/share/man/man1/node.1
    
    sudo rm -rf /usr/local/lib/dtrace/node.d
    
    sudo rm -rf ~/.npm

Fonte: tonyMtz


7
La rimozione node*non è un modo particolarmente sicuro per procedere. Potrebbero esserci altri binari con quel prefisso.
Lenar Hoyt,

2
Fantastico, finalmente dopo 3 giorni, quando ogni tanto c'erano problemi di npm, rimossi completamente e reinstallati usando brew sul mio mac, funziona come un fascino.
Amit Bravo,

Quando viene lanciato il primo comando, ti can't open /var/db/receipts/org.nodejs.pkg.bom: No such file or directory **** Can't open /var/db/receipts/org.nodejs.pkg.bom.preghiamo di aiutarti
Ahtesham Shah,

Anche dopo aver fatto questi passaggi su Mac 10.13.5, ho potuto vedere npm e node cosa potrebbe andare storto?
vikramvi,

25

downgrade del nodo a 0.10.36

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n 0.10.36

aggiorna il nodo a stabile v

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable

Ho appena fatto questo e stranamente, ha declassato npm da 6.4.1 a 6.2.0.
Capn Sparrow,

22

Non sono sicuro se è perché avevo una versione precedente (4.4.5) o se ho usato il programma di installazione ufficiale, ma la maggior parte dei file a cui fa riferimento altre risposte non esistevano sul mio sistema. Ho dovuto solo rimuovere quanto segue:

~/.node-gyp
~/.node_repl_history
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/include/node
/usr/local/lib/dtrace/node.d
/usr/local/lib/node_modules
/usr/local/share/doc/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp

Ho deciso di continuare ~/.npmperché avevo intenzione di reinstallare Node con Homebrew.


Questa risposta è stata fatta nel 2012, quindi sono sicuro che abbia un po 'di eredità. Ora, se vengono visualizzate nuove risposte, le voti dopo averle esaminate se sono efficaci.
Dominic Tancredi,

15

Ho riassunto le risposte esistenti e mi sono assicurato che il Nodo js fosse COMPLETAMENTE CANCELLATO insieme a NPM.

  1. brew uninstall node
  2. which node
  3. sudo rm -rf /usr/local/bin/node
  4. sudo rm -rf /usr/local/lib/node_modules/npm/
  5. brew doctor
  6. brew cleanup --prune-prefix

Linee da copiare sul terminale:

brew uninstall node;
which node;
sudo rm -rf /usr/local/bin/node;
sudo rm -rf /usr/local/lib/node_modules/npm/;
brew doctor;
brew cleanup --prune-prefix;

Ho seguito questi passaggi e sembra aver funzionato. Ho ancora le directory nella mia cartella principale come .node-gyp/, .npm/, .npm-global/, e .nvm/. Posso eliminarli o devo conservarli se intendo reinstallare il nodo?
WaterTrash

10
  • Elimina node e / o node_modules da / usr / local / lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • Elimina nodo e / o node_modules da / usr / local / include

  • Elimina nodo, nodo-debug e nodo-gyp da / usr / local / bin
  • Elimina .npmrc dalla tua home directory (queste sono le tue impostazioni npm, non eliminarle se prevedi di reinstallare immediatamente Node)
  • Elimina .npm dalla tua home directory
  • Elimina .node-gyp dalla tua home directory
  • Elimina .node_repl_history dalla tua home directory
  • Elimina nodo * da / usr / local / share / man / man1 /
  • Elimina npm * da / usr / local / share / man / man1 /
  • Elimina node.d da / usr / local / lib / dtrace /
  • Elimina nodo da / usr / local / opt / local / bin /
  • Elimina nodo da / usr / local / opt / local / include /
  • Elimina node_modules da / usr / local / opt / local / lib /
  • Elimina nodo da / usr / local / share / doc /
  • Elimina node.stp da / usr / local / share / systemtap / tapset /

Ho anche dovuto rimuovere node@6da/usr/local/opt/
echo


8

Dopo

brew uninstall node

Ho dovuto sapere quale nodo

which node

quindi rimuovilo

rm -rf /usr/local/bin/node

7

Se hai già installato nvm, esegui i seguenti comandi

  • nvm deactivate - Questo rimuoverà /.nvm/*/bin da $ PATH
  • nvm list - Per elencare tutte le versioni del nodo installato nel sistema
  • nvm uninstall <version> in puoi specificare tutte le versioni che desideri disinstallare.

È sempre positivo installare il nodo utilizzando nvme disinstallando utilizzando nvm anziché brew.

Questa soluzione ha funzionato per me.

Comandi aggiuntivi

  • which nodeper conoscere il percorso del nodo installato nel tuo sistema. È possibile rm questa directory per disinstallare manualmente il nodo. Quindi potrebbe essere necessario modificare il file PATH di conseguenza.

6

Espandendo la fantastica risposta di Dominic Tancredi , l'ho trasformato in un pacchetto bash e in uno script autonomo. Se stai già utilizzando "Back Package Manager" chiamato bpkg puoi installare lo script eseguendo:

bpkg install -g brock/node-reinstall

Oppure puoi dare un'occhiata allo script su Github su brock / node-reinstall . Lo script consente di reinstallare il nodo utilizzando nvm o nave e di specificare una versione del nodo come predefinita.


1
Stavo per postare questo e vedere che l'autore stesso ha pubblicato la migliore risposta possibile al problema: usa node-reinstall una volta e non guarderai mai indietro. Mi ha fatto colpire il terreno correndo e pronto per ulteriori sviluppi! Saluti per questo @brockangelo!
Wallace Sidhrée,

3
Attenzione ..... lo node-reinstallscript contiene questa riga: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Quindi, se ti capita di avere una directory con quel nome in modo indipendente nel tuo $HOME(come faccio io), verrà intasato!
terrycojones,

6

Oltre alla risposta principale, avevo bisogno di rimuovere tutte le istanze npm trovate in:

rm -rf /usr/local/share/man/man1/npm*

1
Questo dovrebbe essere un commento sulla risposta appropriata, non una nuova risposta.
Edward Anderson,

5

Sono stato colpito da un problema durante la disinstallazione di Node.js sul mio mac. Ho avuto un comportamento strano come npmè ancora il loro anche dopo averlo rimosso con tutto questo.

Era perché avevo fatto una vecchia installazione con Macport. Quindi devi anche disinstallarlo usando la porta:

sudo port uninstall nodejs

Potrebbe aver installato molte versioni diverse di Node.js, quindi disinstallale tutte (una per una).


1
Questo è esattamente quello che mi è successo :-) grazie per la tua risposta aggiuntiva. Bene, ho iniziato ad avere diverse versioni di Cordova e un npm non ha potuto rimuovere quello Cordova e viceversa.
peter_the_oak,

5

forse devi fare

hash -r 

aiuta con il problema del collegamento simbolico

$ node -v
$ bash: /opt/local/bin/node: No such file or directory


4

Il modo migliore è scaricare un pacchetto di installazione: .pkg su mac. Preferisce l'ultima versione stabile.

Ecco il link: Node.js

Questo pacchetto alla fine sovrascriverà la versione precedente e imposterà le variabili di ambiente di conseguenza. Basta eseguire il programma di installazione e il gioco è fatto in pochi clic.


3

Avevo installato Node.js dal sorgente scaricato dal repository git. Ho installato con:

./configure
$ make
$ sudo make install

Perché il file make lo supporta, posso fare:

$ sudo make uninstall

Come eseguirlo in parallelo? dire che voglio eseguire 2 versioni?

3

Come compagna delle risposte che spiegano la pulizia e l'installazione tramite homebrew, ho scoperto che l'homebrew stesso forniva chiare indicazioni sugli scontri del collegamento simbolico.

Sfortunatamente fornisce questi uno per uno man mano che li incontra, quindi è un po 'laborioso, ma sembra trovare tutti gli scontri ed è stato l'unico modo per ottenere un'installazione pulita con homebrew.

In sostanza, il processo è:

  1. usa homebrew per disinstallare il nodo
  2. homebrew pulito
  3. utilizzare homebrew per installare il nodo e annotare qualsiasi file di conflitto contrassegnato
  4. elimina il file di conflitto di flag (o l'intera directory se è una directory 'nodo')
  5. vai al passaggio 1 fino ad ottenere un'installazione pulita

schematicamente:

Ecco un output dello schermo degli ultimi passaggi della mia installazione: puoi vedere che risulta in un'installazione pulita (eventualmente ...):

computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/share/systemtap/tapset/node.stp'
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d
already exists. You may want to remove it:
  rm '/usr/local/lib/dtrace/node.d'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/lib/dtrace/node.d'
computer1:DevResources user1$ 
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ node -v
v13.1.0

2

Prima di tutto, è necessario disattivare il nodo: (mac) dopo l'installazione della nuova versione del nodo.

nvm deactivate

Questo è rimosso /Users/user_name/.nvm/*/bin da $ PATH

E dopo che quel nodo è stato aggiornato

node --version
v10.9.0

1

Questo mi ha risolto Risolve npm su Mac OS X per utenti Homebrew . E non richiede troppi passaggi.

Vai alla parte della soluzione se non ti interessa il perché.

Ecco la parte rilevante per comodità:

Soluzione

Questa soluzione corregge l'errore causato dal tentativo di esecuzione npm update npm -g. Al termine, non sarà nemmeno necessario utilizzare sudoper installare i moduli npm a livello globale.

Prima di iniziare, prendere nota di tutti i pacchetti npm installati a livello globale. Queste istruzioni ti faranno rimuovere tutti quei pacchetti. Al termine, dovrai reinstallarli.

Eseguire i comandi seguenti per rimuovere tutti i moduli npm globali esistenti, disinstallare nodo e npm, reinstallare il nodo con i valori predefiniti corretti, configurare il percorso per i moduli npm globali da installare, quindi installare npm come pacakge.

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

Nodo e npm devono essere installati correttamente a questo punto. Il passaggio finale è quello di aggiungere ~/.npm-packages/binai tuoi PATHpacchetti npm e npm globali utilizzabili. Per fare ciò, aggiungi la seguente riga al tuo ~/.bash_profile:

export PATH="$HOME/.npm-packages/bin:$PATH"

Ora puoi reinstallare tutti i pacchetti npm globali di cui hai bisogno senza problemi.


4
Le risposte di solo collegamento sono sconsigliate su StackTranslate.it.
Andrew Grimm,

@AndrewGrimm ha un senso, ho copiato la parte pertinente.
pcatre

1
Dopo aver inserito il seguente comando, visualizzo il seguente errore: curl -L npmjs.com/install.sh | sh .... npm ERR! Un registro completo di questa corsa è disponibile in: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_34_337Z-debug.log npm ERR! codice E404 npm ERR! 404 non trovato: 1.535s@latest npm ERR! Un registro completo di questa corsa è disponibile in: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_36_399Z-debug.log Fallito
Shoaib Ahmed,

1

Nel mio caso nessuna delle altre risposte ha funzionato perché in precedenza ho eseguito il downgrade a node8. Quindi, invece di fare sopra, il seguente ha funzionato per me:

which node

che è tornato /usr/local/bin/node@8invece di/usr/local/bin/node

così ho eseguito questo comando:

brew uninstall node@8

che ha funzionato e poi scaricato il pkg più recente dal sito ufficiale e installato. Successivamente ho dovuto chiudere il mio terminale e ricominciare per accedere alla nuova versione


1

Se non riesci a individuare il nodo, esegui semplicemente whereis nodeed whereis npme whereis nvme puoi rimuovere le directory elencate come necessario.

Dovrai anche chiudere completamente il tuo terminale e riaprirlo per rendere effettive le modifiche.


1

Docker - approccio alternativo

Docker è una sorta di macchina virtuale superveloce che può essere utilizzata per eseguire strumenti come node (invece installarli direttamente su mac-os). I vantaggi per farlo sono i seguenti

  • tutte le cose (file di nodi 'milions') sono installate all'interno dell'immagine / contenitore della finestra mobile (incapsulate in pochi file della finestra interna)

  • puoi mappare la tua directory mac con progetto sul contenitore della finestra mobile e avere accesso al nodo - ma al di fuori della finestra mobile, il sistema mac-os non sa nemmeno che il nodo è installato. Quindi ottieni una sorta di console 'virtuale' con comandi di nodo disponibili che possono funzionare su file reali

  • puoi facilmente uccidere il nodo trovandolo docker pse uccidendolodocker rm -f name_or_num

  • puoi facilmente disinstallare l'immagine / i contenitori della finestra mobile con un solo comando docker rmi ...e ottenere spazio libero - e installarlo di nuovo eseguendo lo script (sotto)

  • il nodo è incapsulato all'interno della finestra mobile e non ha accesso all'intero sistema, ma solo alle cartelle mappate ad esso

  • puoi eseguire i servizi di nodo e mappare facilmente la loro porta sulla porta mac e accedervi dal browser web

  • è possibile eseguire più versioni di nodi contemporaneamente

  • in modo simile puoi installare altri strumenti come (in molte versioni contemporaneamente): php, database, redis ecc. - all'interno della finestra mobile senza alcuna interazione con mac-os (che non nota affatto tale software). Ad esempio, puoi eseguire contemporaneamente 3 mysql db con versioni diverse e 3 applicazioni php con diversa versione php ... - così puoi avere molti strumenti ma un sistema pulito

  • LAVORO DI SQUADRA: tale ambiente può essere facilmente clonato in altre macchine (e persino su sistemi Windows / Linux - con alcune modifiche) e fornire un identico ambiente a livello di finestra mobile - così puoi facilmente impostare e riutilizzare i tuoi script / file docker e l'ambiente di configurazione per nuovo membro del team in modo molto veloce (deve solo installare la finestra mobile e creare una struttura di cartelle simile e ottenere una copia degli script, tutto qui). Lavoro in questo modo per 2 anni e con il mio team - e siamo molto felici

istruzione

  • Installare la finestra mobile usando ad es. Queste istruzioni

  • Prepara la directory "speciale" per il lavoro, ad es. La mia directory è /Users/kamil/work(userò ulteriormente questa directory - ma può essere arbitraria) - questa directory sarà "interfaccia" tra i contenitori docker e il tuo file mac ststem. All'interno di questa directory creare la seguente struttura di directory:

    /Users/kamil/work/code - qui inserisci i tuoi progetti con il codice

    /Users/kamil/work/tools

    /Users/kamil/work/tools/docker-data - qui mappiamo i contenitori dei dati di output come i log (o i file di database se qualcuno ouse db ecc.)

    /Users/kamil/work/tools/docker

    /Users/kamil/work/tools/docker/node-cmd - qui inseriamo gli script del nodo docker

  • all'interno di toolscreare un file .envche conterrà in un unico percorso i percorsi globali utilizzati in altri script

  • innside dir ../node-cmdcrea il file dockerfilecon il seguente contenuto

  • innside dir ../node-cmdcrea il file run-containercon il seguente contenuto (questo file dovrebbe essere eseguibile ad es. da chmod +x run-container) - (nota come mappiamo port-e directory dal 'mondo' esterno al filesystem docker interno)

  • ok ora puoi aggiungere qualche progetto, ad es. work/code/myProjecte aggiungerlo al seguente file 'run-cmd' (deve essere eseguibile)

  • quindi se esegui lo script sopra (facendo doppio clic), vedrai la console con i comandi del nodo disponibili nella directory del progetto, ad es npm install

  • per eseguire il progetto in background (ad es. alcuni serwice) ad es. eseguire l'applicazione angular-cli del web server che è possibile utilizzare il seguente script (chiamato-deve run-frontessere eseguibile) - (è inoltre necessario modificare il /etc/hostsfile per aggiungere il dominio appropriato)


0

La risposta di @ lfender6445 ha funzionato bene per me da disinstallare

Ora per reinstallare, ho avuto problemi con l'installazione dell'ultima versione invece di quella più stabile, quindi per installare una versione specifica del nodo dovresti fare:

brew install node@10 // 10 is the version I want
brew link node@10

-7

(server: ubuntu 14)

1.) installa nvm (gestore versione nodo) https://github.com/creationix/nvm

2.) nodo di installazione nvm

3.) npm -v (informarsi sulla versione npm => 3.8.6)

4.) nodo -v (informarsi sulla versione del nodo => v6.0.0)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.