Por que instalar o nó 6.x no Ubuntu 16.04 realmente instala o nó 4.2.6?

64

Estes foram os meus passos para instalar o nó no Ubuntu 16.04:

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs 
sudo apt-get install -y npm

quais são as instruções oficiais:

link

Depois de fazer isso, execute nodejs --version retornando v4.2.6 .

Como usei setup_6.x , presumi que uma versão que começa com 6 seria instalada?

Pensei que talvez setup_6.x devesse ser setup_6.2.1 , mas essa página retorna um 404, consulte:

link (há uma página lá)

link (retorna um 404)

Como instalo a última versão estável do nó no Ubuntu 16.04?

Editar:

Estes são os resultados depois de executar sudo apt-get install -y nodejs :

sudo apt-get install -y nodejs 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  gyp libboost-python1.58.0 libjs-inherits libjs-node-uuid libjs-underscore
  libssl-dev libssl-doc libuv1-dev linux-headers-4.4.0-18
  linux-headers-4.4.0-18-generic linux-headers-4.4.0-21
  linux-headers-4.4.0-21-generic linux-image-4.4.0-18-generic
  linux-image-4.4.0-21-generic linux-image-extra-4.4.0-18-generic
  linux-image-extra-4.4.0-21-generic linux-signed-image-4.4.0-18-generic
  linux-signed-image-4.4.0-21-generic python-configobj python-pycurl
  python-pyexiv2 python-pyexiv2-doc
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
  nodejs
0 to upgrade, 1 to newly install, 0 to remove and 0 not to upgrade.
Need to get 0 B/3,162 kB of archives.
After this operation, 13.2 MB of additional disk space will be used.
Selecting previously unselected package nodejs.
(Reading database ... 329473 files and directories currently installed.)
Preparing to unpack .../nodejs_4.2.6~dfsg-1ubuntu4_amd64.deb ...
Unpacking nodejs (4.2.6~dfsg-1ubuntu4) ...
Processing triggers for doc-base (0.10.7) ...
Processing 1 added doc-base file...
Registering documents with scrollkeeper...
Processing triggers for man-db (2.7.5-1) ...
Setting up nodejs (4.2.6~dfsg-1ubuntu4) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode

Editar:

Resultados de apt-cache policy nodejs :

apt-cache policy nodejs
nodejs:
  Installed: 4.2.6~dfsg-1ubuntu4
  Candidate: 4.2.6~dfsg-1ubuntu4
  Version table:
 *** 4.2.6~dfsg-1ubuntu4 500
        500 http://au.archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        100 /var/lib/dpkg/status
    
por user1063287 13.06.2016 / 04:16

7 respostas

115

O motivo principal é que o script de configuração não foi executado corretamente. Portanto, graças aos dados atualizados do OP que suporta isso, os dados do repositório NodeSource nunca foram vistos por apt porque não foram configurados corretamente pelo script.

O script, portanto, pode não ter encontrado a sua distribuição, ou pode ter errado ao configurar o repositório, ou pode ter havido uma interrupção na rede, ou quaisquer mil motivos pelos quais ele foi interrompido e não fez sua trabalho.

O fato de você estar vendo a versão 4.x sendo instalada significa que o script não funcionou corretamente, portanto, o script não é necessariamente defeituoso. Isso apenas significa que temos que fazer isso de maneira mais difícil.

  

Devo salientar: o script não faz nenhuma instalação - tudo o que ele faz é determinar a versão Debian / Ubuntu em que você está, e configurar o repositório para que ele obtenha dados. A parte da instalação é, na verdade, a etapa sudo apt-get install que você executou manualmente.

Em vez de confiar no script, podemos fazer o que o script está fazendo da maneira antiga: manualmente, nós mesmos, configuramos a configuração do repositório e instalamos o NodeJS.

Aqui está a maneira manual de fazer isso funcionar, e é basicamente o que o script faz (exceto para o Passo 4, que é ter certeza de que você está obtendo dados de versão precisos):

  1. Crie um novo arquivo: /etc/apt/sources.list.d/nodesource.list

    Você precisará criar este arquivo com sudo , mas quando criar o arquivo, coloque-o dentro dele:

    deb https://deb.nodesource.com/node_6.x xenial main
    deb-src https://deb.nodesource.com/node_6.x xenial main
    

    Em seguida, salve o arquivo. (substitua node_6.x por node_7.x ou node_8.x , etc. para versões mais novas do Node)

  2. Faça o download da Chave de Assinatura do GPG do Nodesource para o repositório . Caso contrário, você poderá receber NO_PUBKEY erros com apt-get update :

    curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
    
  3. Execute manualmente sudo apt-get update .

    Isso atualiza os dados do repositório de origem de nós, então apt sabe que existe uma versão mais recente.

    Se você receber um erro NO_PUBKEY GPG, volte para a Etapa 2

  4. Verifique a apt-cache policy nodejs output.

    Isso não é feito pelo script, mas você quer ter certeza de ver uma entrada que diz algo assim na saída:

    Version table:
        6.2.1-1nodesource1~xenial1 500
           500 https://deb.nodesource.com/node_6.x xenial/main amd64 Packages
        4.2.6~dfsg-1ubuntu4 500
           500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
    

    Se você não vê entradas como essa e apenas vê a 4.2.6, comece novamente. Caso contrário, continue.

  5. Instale o nodejs binário. Agora que você confirmou que 6.x está disponível em seu sistema, você pode instalá-lo: sudo apt-get install nodejs

  6. nodejs --version agora deve mostrar v6.2.1 ou similar na saída (desde que comece com v6. , e você está na versão 6).

por Thomas Ward 13.06.2016 / 04:47
36

Eu tive uma versão mais antiga do nó. Tudo o que eu precisava fazer era purgar o antigo:

sudo apt-get purge nodejs npm

E, em seguida, substituindo 6 em v=6 por 7, 8, 9 conforme necessário para as respectivas versões (consulte instruções oficiais de instalação ):

v=6
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

(certifique-se de ter o curl instalado).

E por último,

sudo apt-get install -y nodejs

Boom, última versão do nó.

    
por codemode 18.11.2016 / 19:34
2

Para o usuário da versão Ubuntu 16.04.2 (com um pouco de mudança de Thomas'post e obrigado por ele)

1. abra o atualizador de software

2.setting

3. outro software

4.Adicione as fontes, mas lembre-se de escolher todas as novas opções de fontes mais tarde exp:

deb https://deb.nodesource.com/node_6.x xenial main
deb-src https://deb.nodesource.com/node_6.x xenial main

5.reload

6. sudo apt-get update

7. apt-cache policy nodejs // para obter a nova tabela de versão e verificar se a origem está configurada

8. sudo apt install nodejs

9. nodejs --version

AGORA Está tudo pronto .......

aviso: não altere seu driver padrão do Linux para sua placa nvidia a partir do painel de atualização ... o sistema será travado .... !!!

    
por Jason Liu 12.04.2017 / 23:46
2

Eu tive o mesmo problema. Mas no meu caso eu tive que atualizar meu comando curl. Você pode ver o problema executando com a opção -S.

curl -s -S https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -

Que mostrou o problema

curl: (1) Protocol "https" not supported or disabled in libcurl
gpg: no valid OpenPGP data found.

Então, corrijo esse problema executando o seguinte.

sudo apt-get install curl
sudo apt autoremove
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install nodejs
    
por zatopek 17.11.2017 / 02:37
0

Eu encontrei este link e ele me ajuda a instalar o Nodejs8

por Victor Espinoza 29.06.2017 / 17:49
0

Ao adicionar @Thomas Ward, responda aos que estão enfrentando problemas ao instalar o nodejs 8.x com https URL ou o código continue instalando v4.2.6 mostrando erro de certificado. Tente adicionar nodesource.list com as linhas abaixo

deb http://deb.nodesource.com/node_8.x xenial main
deb-src http://deb.nodesource.com/node_8.x xenial main

próximo passo: executar

sudo curl -sL http://deb.nodesource.com/setup_8.x | sudo -E bash -

Então

sudo apt-get install -y nodejs

Isso resolverá seu problema instalando a versão atualizada do nodejs e a versão do npm conforme ela foi resolvida para o Ubuntu 16.04 LTS ...

    
por sunilsmith 23.10.2017 / 11:09
0

Eu tentei seguir as instruções no link para a versão 8, mas isso não funcionou para mim. Eu visitei o link diretamente no navegador e copiei e colei o script em um arquivo no meu sistema nodejs.sh . Então eu executei os seguintes comandos

sudo -E bash nodejs.sh
apt-cache policy nodejs
sudo apt-get install nodejs

O comando apt-cache mostrou duas versões com uma preferência para a instalação 8. Você pode excluir o arquivo de instalação posteriormente. Não tenho certeza de porque copiar o arquivo ajudou localmente porque o comando curl mostrou o script corretamente.

    
por Bryan Toth 03.04.2018 / 17:11

Tags