AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / ubuntu / Perguntas / 1306308
Accepted
flen
flen
Asked: 2021-01-09 14:34:01 +0800 CST2021-01-09 14:34:01 +0800 CST 2021-01-09 14:34:01 +0800 CST

Desvantagens de usar npm n para atualizar nodejs

  • 772

Minha pergunta

Existem algumas críticas contra npm n, mas são datadas (principalmente de < 2018). As críticas ainda permanecem? É ninstável ou tem armadilhas? Vale dizer que houve 115.014 downloads para nesta semana.

O problema

Eu quero instalar as últimas versões estáveis ​​do npm e do nodeJS no Ubuntu 20.04, mas isso é surpreendentemente difícil.


Relacionado:

  • https://stackoverflow.com/questions/41666010/n-or-nvm-for-managing-node-versions-is-keeping-global-modules-for-each-version
  • https://stackoverflow.com/a/23569481/4621141
  • https://stackoverflow.com/a/41196107/4621141
  • https://askubuntu.com/a/663050/808646
  • https://askubuntu.com/a/1098249/808646
apt
  • 2 2 respostas
  • 293 Views

2 respostas

  • Voted
  1. Best Answer
    flen
    2022-04-18T21:02:57+08:002022-04-18T21:02:57+08:00

    O Veredicto

    Depois de alguns anos executando isso muito bem, acho que posso dizer com confiança que não há problemas reais (pelo menos, não os encontrei). O único problema é começar na trabalhar. Para isso, leia abaixo.

    Resolvendo com npm n

    Estou instalando como um usuário com acesso sudo e nunca quero sudonpm ou node para fazê-lo funcionar (por quê?) .

    1. Instale o npm: sudo apt install npm.

    2. Definir prefixo para npm : npm config set prefix ~/.npm

    3. Atualize o npm para a versão mais recente, npm i -g npm.

    4. Defina as variáveis ​​ambientais no ~/.profilearquivo (essas alterações só funcionarão depois que você sair e entrar novamente, ou se você executar source ~/.profile):

    # vars to avoid ever using sudo
    # for npm
    export PATH="$PATH:$HOME/.npm/bin"
    # these are for n and where it'll install nodejs:
    export N_PREFIX=$HOME/.n
    export PATH="$PATH:$N_PREFIX/bin"
    
    1. Use o pacote npm npara atualizar o nó (consulte: https://askubuntu.com/a/663052/808646 ):
    # Intructions: https://www.npmjs.com/package/n
    # Some people also suggest npm cache clean -f, but (I think) this isn't necessary here. 
    # I'm using lts for the stable release, for the latest use instead: n latest 
    
    npm install -g n
    n lts
    
    1. Execute source ~/.profilepara atualizar as variáveis ​​ambientais. Desta forma, o bash encontrará o caminho para npme ndurante esta sessão (ou seja, sem ter que sair e entrar novamente).

    2. Desinstale os nodejs anteriores que vieram instalados pelo npm: sudo apt-get purge nodejs.

    Explicação : esta etapa é crucial. Até agora, foi o que aconteceu: você instalou o npm, mas na verdade ele instalou o antigo nodejse o antigo npmem cima dele. Embora você supostamente "instalou" um novo nodejsusando n, o anterior nodejstem precedência e nnão pode realmente instalar o novo nodejsque baixou, primeiro você deve remover o antigo.
    No entanto, se você removê-lo sem instalar um novo npm, você não terá npmmais, porque desinstalar nodejsdesinstalações antigas npmtambém (eu acho... ou pode funcionar se você exportar todas as vars novamente? Talvez apenas ninstalando com um nodejs/npm versão será suficiente?) . Portanto, você deve instalar um novonpm(você fez isso na etapa 3) e um novo nodejsuso n(você fez isso na etapa 6) antes de desinstalar o antigo nodejs. A razão pela qual você também precisa de uma nova nodejsinstalação é que sem um new nodejs, new npmnão será executado, requer uma nodejsinstalação atual.

    1. Verifique se funcionou. Caso contrário, tente sair e fazer login novamente ou digite ne selecione a versão correta do nodejs (*por padrão, ele usará o npm que acompanha essa versão do nodejs, mas há opções para evitar isso):node -v
    • 1
  2. Bob Kline
    2022-04-15T04:01:11+08:002022-04-15T04:01:11+08:00

    A execução sudo apt install npmfunciona bem, mas sudo apt-get --purge remove nodejstambém removerá npm, colocando você de volta ao ponto de partida. Portanto, não vejo nenhuma maneira de usar uma abordagem não adequada para instalar a versão mais recente do nodejs.

    • 0

relate perguntas

  • Como posso ver todas as versões de um pacote que estão disponíveis no arquivo?

  • Como os PPAs podem ser removidos?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Existe um comando para listar todos os usuários? Também para adicionar, excluir, modificar usuários, no terminal?

    • 9 respostas
  • Marko Smith

    Como excluir um diretório não vazio no Terminal?

    • 4 respostas
  • Marko Smith

    Como descompactar um arquivo zip do Terminal?

    • 9 respostas
  • Marko Smith

    Como instalo um arquivo .deb por meio da linha de comando?

    • 11 respostas
  • Marko Smith

    Como instalo um arquivo .tar.gz (ou .tar.bz2)?

    • 14 respostas
  • Marko Smith

    Como listar todos os pacotes instalados

    • 24 respostas
  • Martin Hope
    Flimm Como posso usar o docker sem sudo? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    led-Zepp Como faço para salvar a saída do terminal em um arquivo? 2014-02-15 11:49:07 +0800 CST
  • Martin Hope
    ubuntu-nerd Como descompactar um arquivo zip do Terminal? 2011-12-11 20:37:54 +0800 CST
  • Martin Hope
    TheXed Como instalo um arquivo .deb por meio da linha de comando? 2011-05-07 09:40:28 +0800 CST
  • Martin Hope
    Ivan Como listar todos os pacotes instalados 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    David Barry Como determino o tamanho total de um diretório (pasta) na linha de comando? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher "Os seguintes pacotes foram retidos:" Por que e como resolvo isso? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford Como os PPAs podem ser removidos? 2010-07-30 01:09:42 +0800 CST

Hot tag

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve