Eu corro o Debian 9.3. Fui ao site do NodeJS para ver como instalar o NodeJS v9.X na minha máquina e executei o código fornecido.
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
Mas o terminal cuspiu esta mensagem:
Reading package lists... Done
Building dependency tree
Reading state information... Done
nodejs is already the newest version (4.8.2~dfsg-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Minha máquina está travada com NodeJS v4.8.2 e NPM v1.4.21.
Como atualizo para o NodeJS e NPM mais recentes?
ATUALIZAR
Segui as instruções de @GAD3R. Ele ainda instala v4.8.2. Aqui está o que recebo depois de executar os comandos do GAD3R e, em seguida, executar sudo apt install nodejs
.
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libuv1
The following NEW packages will be installed:
libuv1 nodejs
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/3,524 kB of archives.
After this operation, 14.5 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Selecting previously unselected package libuv1:amd64.
(Reading database ... 141225 files and directories currently installed.)
Preparing to unpack .../libuv1_1.9.1-3_amd64.deb ...
Unpacking libuv1:amd64 (1.9.1-3) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_4.8.2~dfsg-1_amd64.deb ...
Unpacking nodejs (4.8.2~dfsg-1) ...
Setting up libuv1:amd64 (1.9.1-3) ...
Processing triggers for libc-bin (2.24-11+deb9u1) ...
Processing triggers for man-db (2.7.6.1-2) ...
Setting up nodejs (4.8.2~dfsg-1) ...
update-alternatives: using /usr/bin/nodejs to provide /usr/bin/js (js) in auto mode
Quando eu corro update-alternatives --config nodejs
, o terminal imprimeupdate-alternatives: error: no alternatives for nodejs
==
Quando eu corro apt-cache policy nodejs
, eu recebo isso...
nodejs:
Installed: 4.8.2~dfsg-1
Candidate: 4.8.2~dfsg-1
Version table:
9.3.0-1nodesource1 500
500 https://deb.nodesource.com/node_9.x stretch/main amd64 Packages
8.9.3~dfsg-2 1
1 http://ftp.us.debian.org/debian experimental/main amd64 Packages
6.12.0~dfsg-2 500
500 http://ftp.us.debian.org/debian unstable/main amd64 Packages
*** 4.8.2~dfsg-1 990
990 http://ftp.us.debian.org/debian stretch/main amd64 Packages
100 /var/lib/dpkg/status
==
Eu corri sudo /etc/apt/preferences
, que não existia até agora, e escrevi isso nele:
Package: *
Pin: release n=experimental
Pin-Priority: 100
Package: *
Pin: release n=unstable
Pin-Priority: 100
Package: *
Pin: release n=stable
Pin-Priority: 500
Eu executei novamente os comandos do post do GAD3R, mas ainda assim o Debian instalou a v4.8.2 do nodejs
pacote.
A versão 4.8.2 é instalada a
apt
partir do repositório principal .corre:
Verifique a
nodjs
versão instalada:A
npm
versão:O problema vem da prioridade do pino, fixe a liberação estável para
500
Instável:
E o estábulo:
O problema é resolvido por:
Eu tive o mesmo problema em um Pi3 Modelo B (com raspbian stretch 9.4). Primeiro tentei forçar a instalação do nodejs-v8 especificando a versão no comando apt-get:
apt install nodejs=8.11.2~dfsg-1+b1
. Isso não funcionou para mim porque resultou em dependências não atendidas:A resposta aceita de GAD3R também não funcionou para mim.
No entanto, quando eu corri
apt-cache policy nodejs
, recebi isso:Forçando a instalação do nodejs do repositório de teste:
Isso funcionou como um encanto!