Como desinstalo completamente o Node.js e reinstale do início (Mac OS X)

1291

Minha versão do nó é sempre a v0.6.1-pré, mesmo depois de instalar o nó de fermentação e o NVM instalar a v0.6.19.

A versão do meu nó é:

node -v
v0.6.1-pre

O NVM diz isso (depois de instalar uma versão do nó pela primeira vez em um terminal bash):

nvm ls
v0.6.19
current:    v0.6.19

Mas quando eu reinicio o bash, é o que vejo:

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

Então, onde está a versão 0.6.1-pre do nó fantasma e como posso me livrar dele? Estou tentando instalar bibliotecas via NPM para poder trabalhar em um projeto.

Tentei usar o BREW para atualizar antes do NVM, usando brew updatee brew install node. Eu tentei excluir o diretório "node" no meu /usr/local/includee o "node" e "node_modules" no meu /usr/local/lib. Tentei desinstalar o npm e reinstalá-lo seguindo estas instruções.

Tudo isso porque eu estava tentando atualizar uma versão mais antiga do nó para instalar a biblioteca "zipstream". Agora, existem pastas no diretório de usuários e a versão do nó AINDA não está atualizada, embora o NVM diga que está usando o 0.6.19.

Idealmente, eu gostaria de desinstalar nodejs, npm e nvm e apenas reinstalar tudo do zero no meu sistema.

Dominic Tancredi
fonte
/ usr / bin / node é outro ...
Aaron Blenkush
1
isso pode ajudar quem instalou o nó via arquivo pkg. superuser.com/questions/36567/…
karthikeayan
O Mac 10.13.5 possui / Users / myusername / node_modules também devo excluir esta pasta? Eu procurei neste segmento, mas ninguém enfrentou esta questão parece
vikramvi
@Pacerier mesmo depois de seguir a instrução em essência, ainda nó e npm existe no Mac OS 10.13.5
vikramvi

Respostas:

1699

Aparentemente, havia uma /Users/myusername/localpasta que continha um includecom nodee libcom nodee node_modules. Como e por que isso foi criado, e não na minha /usr/localpasta, eu não sei.

A exclusão dessas referências locais corrigiu o phantom v0.6.1-pre. Se alguém tiver uma explicação, eu escolherei isso como a resposta correta.

EDITAR:

Você também pode precisar executar as instruções adicionais:

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

que é o equivalente a (o mesmo que acima) ...

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

ou (o mesmo que acima) dividido ...

Para desinstalar completamente o node + npm, faça o seguinte:

  1. vá para / usr / local / lib e exclua qualquer e node_modules
  2. vá para / usr / local / include e exclua qualquer e diretório node_modules
  3. se você instalou com o nó de instalação do brew , execute o nó de desinstalação do brew no seu terminal
  4. verifique no diretório pessoal se há pastas locais ou de bibliotecas ou de inclusão e exclua qualquer ou node_modules de lá
  5. vá para / usr / local / bin e exclua qualquer executável

Você também pode precisar fazer:

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

Além disso, o NVM modifica a variável PATH $HOME/.bashrc, que deve ser revertida manualmente .

Faça o download do nvm e siga as instruções para instalar o nó. As últimas versões do nó vêm com o npm , acredito, mas você também pode reinstalá-lo.

Dominic Tancredi
fonte
83
Eu também tive que rm -rf /Users/[homedir]/.npm.
brokenindexfinger
17
Também é necessário remover/Users/[homedir]/.nvm
n0pe
42
Também corri brew doctore depois brew prunelimpei um monte de links simbólicos quebrados para o NPM.
Chris Jacob
54
Juntei um roteiro que agora testei em batalha. Obrigado @DominicTancredi isso funciona muito bem! gist.github.com/brock/5b1b70590e1171c4ab54
brock
13
Eu também tive que acrescentar: sudo rm -rf ~/.node-gyp. Eu o adicionei ao MacPorts antes de mudar para o brew.
JESii #
519

Para usuários de cerveja, OSX :

Remover:

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;

Para instalar:

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

Você pode executar brew info nodepara obter mais detalhes sobre as instalações do nó.


considere usar o NVM em vez de preparar

O NVM (gerenciador de versão do nó) é uma solução portátil para gerenciar várias versões do nó

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

você pode usar isso com o AVN para alternar automaticamente as versões conforme você alterna entre diferentes projetos com diferentes dependências de nós.

lfender6445
fonte
2
Como configurar env vars para que node e npm estejam disponíveis após essa instalação?
Maxim V. Pavlov
13
Pode ser necessário executar o brew com o --forcesinalizador para garantir que todas as versões do nó sejam removidas: $ brew uninstall --force node
magikMaker 6/15
-bash: /usr/local/bin/npm: No such file or directoryO que eu posso fazer agora?
ValRob
5
> "considere usar o NVM em vez de preparar"; Ironicamente, você pode instalar o NVM com o brew !; Ótima dica, obrigado.
HankCa
2
Usando o NVM ajudou.
Coderpc
186

Eu sei que este post é um pouco datado, mas só queria compartilhar os comandos que funcionaram para mim no Terminal ao remover o 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.*

ATUALIZAR: 23 SEP 2016


Se você tem medo de executar esses comandos ...

Obrigado jguixpor this quick tutorial.

Primeiro, crie um arquivo intermediário:

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

Revise manualmente seu arquivo (localizado na sua Homepasta)

 ~/filelist.txt

Em seguida, exclua os arquivos:

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.*

Para 10.10.5 e superior

obrigado Lenar Hoyt

Fonte do comentário essencial gistcomment-1572198

Conteúdo original: 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.*
DaveyJake
fonte
15
Whoa-- isso é aterrorizante. Pelo menos o primeiro "rm" não é um "rm -rf", que, se houver uma linha em branco na saída do sbom, removeria todo o / usr / local. Antes de fazer algo tão pesado, examine a saída sbom e de onde todos esses diretórios vieram e verifique se você sabe exatamente o que está removendo.
Don escotilha
16
Devo acrescentar ... se você tem um instinto saudável de autopreservação, deve ser extremamente difícil digitar ou copiar e colar esse segundo comando, que começa com "sudo rm -rf /". Um espirro ou o gato pula no teclado e você destrói o sistema de arquivos.
Don escotilha
2
É ao org.nodejs.node.pkg.bominvés de org.nodejs.pkg.bom.
Lenar Hoyt 10/10/2015
1
O @DonHatch copia a linha sem a primeira letra, para que comece com udo..e depois adicione santes de executá-la.
youurayy
1
O comando lsbom gera caminhos relativos, portanto, o script estava tentando excluir os caminhos parecidos /usr/local/./node/yada. Para remover o ./prefixo, usei o filtro de corte: 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
timiscoding
142

No Mavericks, instalo-o a partir do nó pkg (do site nodejs) e desinstalo-o para poder reinstalar usando o brew. Eu apenas executo 4 comandos no terminal:

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

Se ainda houver uma instalação do nó, repita a etapa 2. Depois de tudo ok, eu instalo usando brew install node

Pedro Polonia
fonte
50
1 funcionou, mas 2 falhou. Eu recebo "tal barril: usr / local / Adega / nó" #
PositiveGuy
Sim, este é o melhor se você estiver executando Mavericks
Dicer
1
Eu tentei, mas novamente recebendo mesmo erro de erro: A brew linketapa não foi concluída com êxito
Chandni
Obrigado, perfeito, exceto eu tive que adicionar --force para preparar desinstalação
Medhi
1
FYI: Até o momento em que escrevi ...->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Mike S.
33
  1. Primeiro:

    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. Para recapitular, a melhor maneira (eu encontrei) de desinstalar completamente o nó + npm é fazer o seguinte:

    acesse /usr/local/libe exclua qualquer nó e node_modules

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. acesse /usr/local/includee exclua qualquer diretório node e node_modules

    cd /usr/local/include
    
    sudo rm -rf node*
  4. se você instalou com brew install node, então execute brew uninstall nodeno seu terminal

    brew uninstall node
  5. verifique no diretório pessoal se há pastas "local" ou "lib" ou "include" e exclua qualquer "node" ou "node_modules" de lá

    vá para / usr / local / bin e exclua qualquer nó executável

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
  6. Você também pode precisar executar as instruções adicionais:

    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

Johel Alvarez
fonte
7
A remoção node*não é uma maneira particularmente segura de proceder. Pode haver outros binários com esse prefixo.
Lenar Hoyt 10/10
2
Ótimo, finalmente, depois de três dias, quando de vez em quando havia problemas de NPM, removidos completamente e reinstalados usando o brew no meu mac, funciona como um encanto.
Amit Bravo
Quando disparou o primeiro comando, obtendo 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.Por favor, ajude
Ahtesham Shah
Mesmo depois de executar essas etapas no Mac 10.13.5, ainda conseguia ver a npm e o nó, o que pode estar errado?
22419 vikramvi
25

nó de downgrade para 0.10.36

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

nó de atualização para v estável

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable
Anja Ishmukhametova
fonte
Acabei de fazer isso e, estranhamente, ele rebaixou o npm de 6.4.1 para 6.2.0.
Capn Sparrow
22

Não tenho certeza se é porque eu tinha uma versão antiga (4.4.5) ou se usei o instalador oficial, mas a maioria dos arquivos mencionados em outras respostas não existia no meu sistema. Eu só precisei remover o seguinte:

~/.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

Decidi continuar ~/.npmporque estava pensando em reinstalar o Node com o Homebrew.

Big McLargeHuge
fonte
Essa resposta foi feita em 2012, então tenho certeza de que ela tem algum legado. Agora, se novas respostas aparecerem, eu as voto depois de revisar se elas são eficazes.
Dominic Tancredi
15

Resumi as respostas existentes e verifiquei se o Nó js é COMPLETAMENTE APAGADO junto com o 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

Linhas para copiar para o terminal:

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;
Dary
fonte
Eu segui esses passos e parece ter funcionado. Eu ainda tenho diretórios na minha pasta raiz como .node-gyp/, .npm/, .npm-global/, e .nvm/. Posso excluí-los ou devo mantê-los se planejar reinstalar o nó?
WaterTrash 30/03
10
  • Exclua o nó e / ou node_modules de / usr / local / lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • Exclua o nó e / ou node_modules de / usr / local / include

  • Exclua o nó, o debug do nó e o gyp do nó de / usr / local / bin
  • Exclua .npmrc do seu diretório pessoal (essas são as suas configurações de npm, não exclua isso se você planeja reinstalar o Node imediatamente)
  • Exclua .npm do seu diretório pessoal
  • Exclua .node-gyp do seu diretório pessoal
  • Exclua .node_repl_history do seu diretório pessoal
  • Excluir nó * de / usr / local / share / man / man1 /
  • Exclua npm * de / usr / local / share / man / man1 /
  • Exclua node.d de / usr / local / lib / dtrace /
  • Exclua o nó de / usr / local / opt / local / bin /
  • Exclua o nó de / usr / local / opt / local / include /
  • Exclua node_modules de / usr / local / opt / local / lib /
  • Exclua o nó de / usr / local / share / doc /
  • Exclua node.stp de / usr / local / share / systemtap / tapset /
Rajiv Singh
fonte
Eu também tive que remover node@6de/usr/local/opt/
eco
9

Trabalhou para mim.

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0
Inês Gomes
fonte
7
Mas somente se você tiver nvminstalado.
Sebastian Dressler
@SebastianDressler Sim :-) brew install nvm. mais informações aqui stackabuse.com/how-to-uninstall-node-js-from-mac-osx
Inês Gomes
8

Depois de

brew uninstall node

Eu tinha que saber qual nó

which node

então remova isso

rm -rf /usr/local/bin/node
Hos Mercury
fonte
7

Se você já instalou o nvm , execute os seguintes comandos

  • nvm deactivate - Isso removerá /.nvm/*/bin do $ PATH
  • nvm list - Para listar todas as versões do nó instalado no sistema
  • nvm uninstall <version> você pode especificar todas as versões que deseja desinstalar.

É sempre bom instalar o nó usando nvme desinstalar usando, em nvm vez de brew.

Esta solução funcionou para mim.

Comandos adicionais

  • which nodepara conhecer o caminho do nó instalado no seu sistema. Você pode rm este diretório para desinstalar o nó manualmente. Talvez seja necessário ajustar o arquivo PATH adequadamente.
Akhil Nadh PC
fonte
6

Expandindo a incrível resposta de Dominic Tancredi , juntei isso em um pacote bash e em um script independente. Se você já estiver usando o "Back Package Manager" chamado bpkg, poderá instalar o script executando:

bpkg install -g brock/node-reinstall

Ou você pode dar uma olhada no script no Github em brock / node-reinstalar . O script permite reinstalar o nó usando nvm ou nave e especificar uma versão do nó como padrão.

brock
fonte
1
Eu estava prestes a postar isso e vi que o próprio autor postou a melhor resposta possível para o problema: use o node -install uma vez e você nunca mais olhará para trás. Me pegou no chão correndo e pronto para mais desenvolvimento! Felicidades para este @brockangelo!
Wallace Sidhrée
3
Aviso ..... o node-reinstallscript contém esta linha: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Portanto, se você tiver um diretório com esse nome de forma independente no seu $HOME(como eu), ele será derrotado!
Terrycojones
6

Adicional à resposta principal, eu precisava remover todas as instâncias do npm encontradas em:

rm -rf /usr/local/share/man/man1/npm*
Carlos Pérez Priego
fonte
1
Este deve ser um comentário sobre a resposta apropriada, não uma nova resposta.
Edward Anderson
5

Fui atingido por um problema durante a desinstalação do Node.js no meu mac. Eu tive um comportamento estranho comonpm ainda é deles, mesmo depois de removê-lo com tudo isso.

Foi porque eu tinha uma instalação antiga feita com o macport. Então você também precisa desinstalá-lo usando o port:

sudo port uninstall nodejs

Pode ter instalado muitas versões diferentes do Node.js, então desinstale-as todas (uma por uma).

toutpt
fonte
1
Foi exatamente o que aconteceu comigo :-) thx na sua resposta do adendo. Bem, comecei a ter várias versões do Cordova, e uma npm não conseguiu remover a única Cordova e vice-versa.
Peter_the_oak 28/02
5

talvez você precise fazer

hash -r 

isso ajuda com o problema do link simbólico

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

Você pode clonar https://github.com/brock/node-reinstall e executar o comando simples, conforme fornecido no repositório. Depois disso, basta reiniciar o sistema.
Este é o método mais simples e também funcionou para mim.

oxy_js
fonte
4

A melhor maneira é baixar um pacote do instalador: .pkg no mac. Prefira a versão estável mais recente.

Aqui está o link: Node.js

Este pacote substituirá a versão anterior e definirá as variáveis ​​de ambiente de acordo. Basta executar o instalador e pronto em apenas alguns cliques.

vkrishna17
fonte
3

Eu instalei o Node.js a partir da fonte baixada do repositório git. Eu instalei com:

./configure
$ make
$ sudo make install

Como o arquivo make o suporta, eu posso fazer:

$ sudo make uninstall
Dave Kuhlman
fonte
Como rodar paralelamente? diga que eu quero rodar 2 versões?
3

Como companheiro das respostas que explicam a limpeza e a instalação via homebrew, descobri que o próprio homebrew fornecia indicações claras dos confrontos de links simbólicos.

Infelizmente, ele fornece esses um por um quando os encontra, por isso é um pouco trabalhoso, mas parece encontrar todos os confrontos e foi a única maneira de obter uma instalação limpa com o homebrew.

Essencialmente, o processo é:

  1. use homebrew para desinstalar o nó
  2. homebrew limpo
  3. use homebrew para instalar o nó e observe qualquer arquivo de conflito sinalizado
  4. exclua o arquivo conflitante do sinalizador (ou o diretório inteiro, se for um diretório 'node')
  5. vá para a etapa 1 até obter uma instalação limpa

Diagramaticamente:

Aqui está uma saída de tela dos últimos passos da minha instalação - você pode ver que resulta em uma instalação limpa (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
Mick
fonte
2

Primeiro de tudo, você precisa desativar o nó: (mac) após instalar a nova versão do nó.

nvm deactivate

Isso é removido /Users/user_name/.nvm/*/bin de $ PATH

E depois que o nó foi atualizado

node --version
v10.9.0
Alexandr
fonte
1

Isso o corrigiu para mim Corrigindo o npm no Mac OS X para usuários do Homebrew . E não requer muitas etapas.

Basta ir à parte da solução se você não se importa com o porquê.

Aqui está a parte relevante por conveniência:

Solução

Esta solução corrige o erro causado pela tentativa de execução npm update npm -g. Quando terminar, você também não precisará usarsudo para instalar módulos npm globalmente.

Antes de começar, anote todos os pacotes npm instalados globalmente. Estas instruções solicitarão que você remova todos esses pacotes. Depois de terminar, você precisará reinstalá-los.

Execute os seguintes comandos para remover todos os módulos globais do npm existentes, desinstalar o nó & npm, reinstalar o nó com os padrões corretos, configurar o local para a instalação dos módulos globais do npm e, em seguida, instalar o npm como seu próprio 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

Nó e npm devem estar instalados corretamente neste momento. A etapa final é adicionar ~/.npm-packages/binaos seus PATHpacotes npm e global npm que são utilizáveis. Para fazer isso, adicione a seguinte linha ao seu ~/.bash_profile:

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

Agora você pode reinstalar todos os pacotes npm globais necessários, sem problemas.

pcatre
fonte
4
As respostas somente de link são desencorajadas no Stack Overflow.
Andrew Grimm
@AndrewGrimm faz sentido, copiei a parte relevante.
pcatre
1
Depois de colocar o seguinte comando, estou recebendo o seguinte erro: curl -L npmjs.com/install.sh | sh .... npm ERR! Um log completo dessa execução pode ser encontrado em: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_34_337Z-debug.log npm ERR! código E404 npm ERR! 404 Não encontrado: 1.535s@latest npm ERR! Um log completo dessa execução pode ser encontrado em: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_36_399Z-debug.log Falhou
Shoaib Ahmed
1

No meu caso, nenhuma das outras respostas funcionou porque eu anteriormente fiz o downgrade para o node8. Então, em vez de fazer acima, o seguinte funcionou para mim:

which node

que retornou em /usr/local/bin/node@8vez de/usr/local/bin/node

então eu executei este comando:

brew uninstall node@8

que funcionou e baixou o pacote mais recente no site oficial e foi instalado. Depois disso, tive que fechar meu terminal e começar novamente para acessar a nova versão

Raza Ahmed
fonte
1

Se você é incapaz de localizar nó apenas correr whereis nodee whereis npme whereis nvme você pode remover as pastas listadas conforme necessário.

Você também precisará fechar completamente o terminal e reabri-lo para que as alterações entrem em vigor.

Andrômeda
fonte
1

Docker - abordagem alternativa

O Docker é algum tipo de máquina virtual super rápida que pode ser usada para executar ferramentas como o nó (em vez disso, instale-as diretamente no mac-os). As vantagens de fazê-lo estão seguindo

  • todas as coisas (arquivos de nó 'milions') são instaladas dentro da imagem / contêiner do docker (encapsulados em poucos arquivos do docker interno)

  • você pode mapear seu diretório mac com projeto para o contêiner do docker e ter acesso ao nó - mas, fora do docker, o sistema mac-os nem sabe que o nó está instalado. Então você obtém algum tipo de console 'virtual' com comandos de nó disponíveis que podem funcionar em arquivos reais

  • você pode facilmente matar o nó localizando-o docker pse matando-odocker rm -f name_or_num

  • você pode desinstalar facilmente a imagem / recipientes do docker com um único comando docker rmi ...e obter espaço livre - e instalá-lo novamente executando o script (abaixo)

  • seu nó está encapsulado dentro da janela de encaixe e não tem acesso a todo o sistema - apenas às pastas que você mapeia

  • você pode executar serviços de nó e mapeá-los facilmente para porta mac e ter acesso a ela no navegador da web

  • você pode executar várias versões de nós ao mesmo tempo

  • da mesma maneira, você pode instalar outras ferramentas como (em várias versões ao mesmo tempo): php, bancos de dados, redis etc. - dentro do docker sem nenhuma interação com o mac-os (que nem percebe esse software). Por exemplo, você pode executar ao mesmo tempo 3 mysql db com versões diferentes e 3 aplicação php com versão php diferente ... - para que você possa ter muitas ferramentas, mas sistema limpo

  • TRABALHO EM EQUIPE: esse ambiente pode ser facilmente clonado em outras máquinas (e até em sistemas Windows / Linux - com algumas modificações) e fornecer ambiente idêntico no nível do docker - para que você possa configurar e reutilizar facilmente seus scripts / dockerfiles e o ambiente de instalação para novo membro da equipe de maneira muito rápida (ele só precisa instalar o docker, criar uma estrutura de pastas semelhante e obter cópia dos scripts - isso é tudo). Eu trabalho assim por 2 anos e com minha equipe - e estamos muito felizes

Instrução

  • Instale a janela de encaixe usando, por exemplo, estas instruções

  • Prepare o diretório 'especial' para o trabalho, por exemplo, meu diretório é /Users/kamil/work(eu usarei este diretório ainda mais - mas pode ser arbitrário) - esse diretório será 'interface' entre os contêineres do docker e o seu arquivo mac ststem. Dentro deste diretório, crie a seguinte estrutura de diretório:

    /Users/kamil/work/code - aqui você coloca seus projetos com código

    /Users/kamil/work/tools

    /Users/kamil/work/tools/docker-data - aqui mapeamos os dados de saída dos contêineres, como logs (ou arquivos de banco de dados, se alguém usar o db etc.)

    /Users/kamil/work/tools/docker

    /Users/kamil/work/tools/docker/node-cmd - aqui colocamos scripts do nó docker

  • dentro de toolscriar arquivo .envque conterá em um só lugar caminhos globais usados ​​em outros scripts

  • dir innside ../node-cmdcriar arquivo dockerfilecom o seguinte conteúdo

  • innside dir ../node-cmdcria arquivo run-containercom o seguinte conteúdo (este arquivo deve ser executável, por exemplo, por chmod +x run-container) - (observe como mapeamos portas e diretórios, formamos 'mundo' externo para o sistema de arquivos docker interno)

  • ok agora você pode adicionar algum projeto, por exemplo, work/code/myProjecte adicioná-lo após o arquivo 'run-cmd' (deve ser executável)

  • então, se você executar o script acima (clicando duas vezes), verá o console com os comandos do nó disponíveis no diretório do projeto, por exemplo npm install

  • para executar o projeto em segundo plano (por exemplo, alguns serviços), por exemplo, executar o aplicativo angular-cli do servidor da web, você pode usar o seguinte script (chamado run-front-deve ser executável) - (você também deve editar o /etc/hostsarquivo para adicionar o domínio adequado)

Kamil Kiełczewski
fonte
0

@ lfender6445 resposta funcionou muito bem para mim desinstalar

Agora, para reinstalar, tive problemas ao instalar a última versão em vez da mais estável; portanto, para instalar uma versão específica do nó, você deve:

brew install node@10 // 10 is the version I want
brew link node@10
Lucas Andrade
fonte
-7

(servidor: ubuntu 14)

1.) instale o nvm (gerenciador de versão do nó) https://github.com/creationix/nvm

2.) nó de instalação da nvm

3.) npm -v (consulte a versão do npm => 3.8.6)

4.) node -v (consulte a versão do nó => v6.0.0)

aze
fonte