¿Por qué no se instala la nueva versión correcta de Node.js en CentOS 7?

¿Por qué no se instala la nueva versión correcta de Node.js en CentOS 7?

Nota: Esto está parcialmente solucionado, pero necesita un poco más de atención. Consulte las notas al final del OP y la respuesta parcial de @Digisec.

Estoy intentando configurar Node.js en CentOS 7, pero los siguientes comandos no pueden instalar la última versión. ¿Qué tengo que cambiar en el código siguiente para instalar la versión más reciente de Node.js en CentOS 7?

Empiezo escribiendo node --versionlo que da como resultado v0.12.7. Esta es claramente una versión antigua porque nodejs.orgdice que v5.6.0es la última versión estable.

Luego escribo lo siguiente para obtener la última versión de node.js:

cd /tmp
curl -sL https://rpm.nodesource.com/setup | bash -

La terminal imprime que debo escribir lo siguiente para eliminar la versión desactualizada de node.js, así que escribo lo siguiente:

yum remove -y nodejs npm

La terminal también dice que escriba lo siguiente para instalar la versión más reciente de node.js, así que escribo lo siguiente:

yum install -y nodejs

Pero luego escribo node --versionde nuevo y el terminal responde v0.12.7nuevamente, mostrando que los comandos anteriores simplemente reinstalaron la versión anterior y obsoleta nuevamente.

Entonces, ¿qué debo hacer para instalar la versión estable más reciente de node.js en la máquina CentOS 7?


ESFUERZOS EN CURSO:


Según la sugerencia de @Digisec, volví a ejecutar los comandos anteriores, pero esta vez registré todo el resultado en el siguiente texto. Tenga en cuenta que la secuencia es ligeramente diferente ahora que la estoy ejecutando nuevamente, pero el resultado es el mismo, como sigue:

[root@localhost ~]# node --version
v0.12.7
[root@localhost ~]# cd /tmp
[root@localhost tmp]# curl -sL https://rpm.nodesource.com/setup | bash -

## Installing the NodeSource Node.js 0.10 repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.ePYEdVWXQH' 'https://rpm.nodesource.com/pub_0.10/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.ePYEdVWXQH'

## Cleaning up...

+ rm -f '/tmp/tmp.ePYEdVWXQH'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 0.10 and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm                                                                                                             | 4.5 MB  00:00:09     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                         1/1 

Installed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]#   

Entonces, según @Digisecrespuesta, luego probé lo siguiente,pero el resultado sigue siendo que no se puede instalar la versión adecuada, como puede ver en la siguiente salida del terminal:

[root@localhost tmp]# curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

## Installing the NodeSource Node.js 5.x repo...


## Inspecting system...

+ rpm -q --whatprovides redhat-release || rpm -q --whatprovides centos-release || rpm -q --whatprovides cloudlinux-release || rpm -q --whatprovides sl-release
+ uname -m

## Confirming "el7-x86_64" is supported...

+ curl -sLf -o /dev/null 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Downloading release setup RPM...

+ mktemp
+ curl -sL -o '/tmp/tmp.NEM1bxM9WB' 'https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodesource-release-el7-1.noarch.rpm'

## Installing release setup RPM...

+ rpm -i --nosignature --force '/tmp/tmp.NEM1bxM9WB'

## Cleaning up...

+ rm -f '/tmp/tmp.NEM1bxM9WB'

## Checking for existing installations...

+ rpm -qa 'node|npm' | grep -v nodesource

## Run `yum install -y nodejs` (as root) to install Node.js 5.x and npm.
## You may also need development tools to build native addons:
##   `yum install -y gcc-c++ make`

[root@localhost tmp]# yum remove -y nodejs npm
Loaded plugins: fastestmirror, langpacks
No Match for argument: npm
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be erased
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                     Repository                                Size
====================================================================================================================================================================================
Removing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                              @nodesource                               16 M

Transaction Summary
====================================================================================================================================================================================
Remove  1 Package

Installed size: 16 M
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Erasing    : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 
  Verifying  : nodejs-0.10.42-1nodesource.el7.centos.x86_64                                                                                                                             1/1 

Removed:
  nodejs.x86_64 0:0.10.42-1nodesource.el7.centos                                                                                                                                    

Complete!
[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
nodejs-0.10.42-1nodesource.el7 FAILED                                          
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# yum install -y nodejs
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: www.gtlib.gatech.edu
 * epel: mirror.sfo12.us.leaseweb.net
 * extras: dallas.tx.mirror.xygenhosting.com
 * updates: linux.mirrors.es.net
Resolving Dependencies
--> Running transaction check
---> Package nodejs.x86_64 0:0.10.42-1nodesource.el7.centos will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================================================
 Package                             Arch                                Version                                                      Repository                               Size
====================================================================================================================================================================================
Installing:
 nodejs                              x86_64                              0.10.42-1nodesource.el7.centos                               nodesource                              4.5 M

Transaction Summary
====================================================================================================================================================================================
Install  1 Package

Total download size: 4.5 M
Installed size: 16 M
Downloading packages:
No Presto metadata available for nodesource  
nodejs-0.10.42-1nodesource.el7 FAILED    
https://rpm.nodesource.com/pub_5.x/el/7/x86_64/nodejs-0.10.42-1nodesource.el7.centos.x86_64.rpm: [Errno 14] HTTPS Error 404 - Not Found           ]  0.0 B/s |    0 B  --:--:-- ETA 
Trying other mirror.
To address this issue please refer to the below knowledge base article 

https://access.redhat.com/articles/1320623

If above article doesn't help to resolve this issue please create a bug on https://bugs.centos.org/



Error downloading packages:
  nodejs-0.10.42-1nodesource.el7.centos.x86_64: [Errno 256] No more mirrors to try.

[root@localhost tmp]# node --version
v0.12.7
[root@localhost tmp]# 

luego visitéel artículo de la base de conocimientos al que se hace referencia en el registro de errores anterior, pero descubrí que no puedo acceder al artículo completo porque no soy cliente de Red Had.


SOLUCIÓN PARCIAL:


@Digisec resolvió parcialmente esto mostrando cómo instalar la nueva versión, pero todavía no podemos eliminar la versión anterior, lo que generará el riesgo de conflictos en el futuro. ¿Qué pasos se deben seguir para eliminar la versión anterior para que la nueva instalación pueda ser limpia y completa?

encontréla URL tar para la versión anterior v0.12.7 en este enlace. Y @Digisec' también sugirió leereste otro enlace, que sugiere usar el comandomake uninstall. Tengo la sensación de que puede que solo haya cinco o diez comandos para escribir en la terminal para eliminar la versión anterior 0.12.7 y reinstalar la nueva versión de nodejs. ¿Cuáles son los comandos requeridos?

Parece que encontré tres archivos tar en la máquina CentOS 7 que están relacionados con nodejs v0.12.7 usando los siguientes comandos de terminal:

[root@localhost ~]# cd /
[root@localhost /]# find . -type f -iname "*.tar"
find: ‘./run/user/1000/gvfs’: Permission denied
./opt/node-v0.12.7/deps/npm/node_modules/tar/test/dir-normalization.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore-2.tar
./opt/node-v0.12.7/deps/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore-2.tar
./usr/local/lib/node_modules/npm/test/fixtures/gitignore-and-npmignore.tar
./usr/local/lib/node_modules/npm/node_modules/tar/test/dir-normalization.tar
[root@localhost /]# 

Tenga en cuenta que hay tres archivos tar adicionales marcados node_modulescuya relación v0.12.7no está clara.

¿Qué comandos específicos ejecuto para desinstalar v0.12.7y eliminar de forma segura todos los v0.12.7archivos tar asociados de la máquina?

Respuesta1

Acabo de comprobar elenlaceobtuviste esto de. Estás instalando, específicamente, la versión 0.10, o al menos lo estás intentando, pero tienes una versión más nueva en el repositorio que se está instalando. Debes seguir la configuración del nodo v5.

curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -

PD: para referencia futura, asegúrese de leer los sitios con mucha atención, especialmente cuando ejecute comandos comoraíz.

EDITAR: Muy bien, parece que agregaste elrepositoriocorrectamente. Al mirar el repositorio, sus paquetes están allí, pero el sistema está buscando la versión incorrecta. En este punto, sugeriría.

yum clean all && yum update

Eso limpiará el repositorio en caché y lo tomará desde el control remoto.

Respuesta: Después del trabajo que hemos realizado chat, aquí tienes la respuesta correcta. nodejs v5instalado bien. Anteriormente compilaste nodejs v0.12manualmente, lo cual no es una buena idea en distribuciones binarias, porque terminarás en esta posición.

which node

regresó

/usr/local/bin/node

mientras

/usr/bin/node

devolvió la respuesta correcta de v5.x.

En este punto tienes múltiples opciones para solucionarlo, pero yo recomendaría 2.

  • Opción 1: Esta es la salida fácil. Puedes editar tu .bashrcy agregar un aliasque apunte node -> /usr/bin/node. Esto es tan simple como sumar alias node="/usr/bin/node". Esto llamará a la versión correcta cada vez, pero no puedo garantizar que no cause conflictos con las bibliotecas en el futuro.
  • opcion 2: Este es el camino difícil, pero lo solucionará. Primero, purgue con yumel nodejs que está instalado en el sistema. En segundo lugar, obtenga el archivo comprimido para la versión que ha compilado, descomprímalo ./configurey desinstálelo. En este paso, puedes encontraren líneafácilmente. Finalmente, reinstale nodejsa través de yum, y eso debería solucionar su problema.

Respuesta2

Lo que hice:

rm -f /etc/yum.repos.d/nodesource-el*
curl -sL https://rpm.nodesource.com/setup_7.x | fiesta -
yum instalar -y nodejs
nodo --versión

y obtuve:

v7.2.0

Respuesta3

CentOS 7.2, NodeJS 6.7.0 (https://nodejs.org/download/release/v6.7.0/). Instalar manualmente

wget https://nodejs.org/download/release/v6.7.0/node-v6.7.0.tar.gz
./configure
make
make install

para desinstalarmake uninstall

Respuesta4

El mismo problema aquí. Lo que hice para solucionarlo fue:

TODO DEBE EJECUTARSE COMO ROOT o al menos agregar SUDO al comienzo de cada comando

Desinstalar nodejs - en mi caso node v8

yum uninstall nodejs npm

eliminar el repositorio real de /etc/yum.repos.d

rm /etc/yum.repos.d/nodesource*

Actualiza tu repositorio

yum update

Obtenga el repositorio actualizado: en mi caso, el nodo v14

curl -sL https://rpm.nodesource.com/setup_14.x | bash -

Me gusta hacer una nueva actualización de yum (es opcional)

yum update

Instalar la nueva versión del nodo.

yum install nodejs

Disfrutar

no code available for this

información relacionada