Un servidor CentOS 7 tiene v0.12.7
instalado Node.js y la instalación se realizó mediante un tar. Esto genera conflictos cuando intento instalar una versión más moderna de Node.js usando yum. ¿Qué pasos específicos se deben seguir (es decir, qué comandos específicos se deben escribir) para eliminar de forma segura el archivo tar instalado v.0.12.7
?
Eltar
para v0.12.7
se puede encontrar en este enlace..
Además, por si es necesario, los tar
archivos instalados en el servidor son los siguientes:
[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 /]#
El conflicto entre las dos versiones se puede ver en los siguientes comandos:
[root@localhost /]# node --version
v0.12.7
[root@localhost /]# which node
/usr/local/bin/node
[root@localhost /]# /usr/bin/node -v
v5.6.0
[root@localhost /]#
Entonces, ¿cómo elimino de forma segura el tar
instalado v0.12.7
? ¿Qué comandos específicos se deben escribir?
PROBANDO el ENFOQUE de @Gilles:
Según las sugerencias en la respuesta de @Gille, intenté lo siguiente:
[root@localhost local]# cd /usr/local/bin
[root@localhost bin]# ls
bower express grunt gulp node nodemon npm yo
[root@localhost bin]#
Por lo tanto, probé los siguientes comandos, que parecen haberse eliminado v0.12.7
, pero estoy esperando antes de marcar la respuesta a continuación como aceptada porque hay un error posterior que está documentado.en esta otra publicacion. Cualquier ayuda sobre el error posterior es muy apreciada. Aquí está el código que parece haber funcionado aquí:
rm /usr/local/bin/node
rm /usr/local/bin/npm
\rm -R /opt/node-v0.12.7/
Respuesta1
Es imposible brindarle comandos específicos para realizar la desinstalación porque no nos brinda los comandos específicos que se utilizaron para realizar la instalación. Sin embargo, según la información que proporcionas, esta no es una tarea difícil. Le recomiendo que detenga sus esfuerzos continuos; parece que está haciendo cosas muy complicadas e inútiles.
La versión instalada manualmente tiene el binario en formato /usr/local/bin
. Eso es bueno: significa que quien lo instaló no hizo un completo desastre. Solo como recordatorio: /bin
, y /lib
outside pertenecen al administrador de paquetes ; pertenece al administrador del sistema. Tiene software instalado manualmente en ; está bien./bin
/usr
/usr/local
/usr/local
/usr/local
El paquete binario de node.js coloca archivos en un árbol común que contiene:
- Algunos archivos de documentación en el directorio de nivel superior.
bin/node
ybin/npm
share/man/man1/node.1
lib/node_modules
share/systemtap/tapset/node.stp
include/node
Como node
está en /usr/local/bin
, busque /usr/local
también los otros archivos y directorios, por ejemplo /usr/local/share/man/man1/node.1
, etc. Si los encuentra, elimínelos. Si no los encuentra, es posible que se hayan instalado en otro lugar o que no se hayan instalado en absoluto; puede intentar locate
encontrar dónde están (si están presentes: los archivos de encabezado include
y el archivo systemtap no son útiles para todos).
Parece que /opt/node-v0.12.7
es el árbol fuente. Puedes eliminar eso.
Si le preocupa eliminar un archivo que resulta necesario, asegúrese de que sus copias de seguridad estén actualizadas, o simplemente mueva los archivos a un lado o mantenga un archivo comprimido de ellos mientras prueba que su sistema aún funciona. .
Si eresen realidadpreocupado y con prisa, lo más probable es que la versión instalada manualmente no entre en conflicto con la versión rpm; solo existe ese node
binario (y probablemente npm
también) que está por delante de la versión en /usr/bin
la RUTA. Cambie el nombre /usr/local/bin/node
a /usr/local/bin/node-0.12.7
(y lo mismo para npm
) y node
o #!/usr/bin/env node
invocará la versión instalada en el sistema.