Um servidor CentOS 7 possui v0.12.7
Node.js instalado e a instalação foi feita usando um tar. Isso está causando conflitos quando tento instalar uma versão mais moderna do Node.js usando o yum. Quais etapas específicas precisam ser executadas (ou seja, quais comandos específicos precisam ser digitados) para remover com segurança o arquivo tar-instalado v.0.12.7
?
Otar
para v0.12.7
pode ser encontrado neste link..
Além disso, caso seja importante, os tar
arquivos instalados no servidor são os seguintes:
[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 /]#
O conflito entre as duas versões pode ser visto nos seguintes 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 /]#
Então, como faço para remover com segurança o tar
-installed v0.12.7
? Quais comandos específicos precisam ser digitados?
TENTANDO A ABORDAGEM DE @Gilles:
De acordo com as sugestões da resposta de @Gille, tentei o seguinte:
[root@localhost local]# cd /usr/local/bin
[root@localhost bin]# ls
bower express grunt gulp node nodemon npm yo
[root@localhost bin]#
Portanto, tentei os seguintes comandos, que parecem ter excluído v0.12.7
, mas estou aguardando antes de marcar a resposta abaixo como aceita porque há um erro downstream documentadonesta outra postagem. Qualquer ajuda sobre o erro downstream é muito apreciada. Aqui está o código que parece ter funcionado aqui:
rm /usr/local/bin/node
rm /usr/local/bin/npm
\rm -R /opt/node-v0.12.7/
Responder1
É impossível fornecer comandos específicos para realizar a desinstalação porque você não nos fornece os comandos específicos que foram usados para realizar a instalação. No entanto, com base nas informações que você fornece, esta não é uma tarefa difícil. Eu recomendo que você pare seus esforços contínuos – você parece estar fazendo coisas muito complicadas e inúteis.
A versão instalada manualmente possui o binário em /usr/local/bin
. Isso é bom: significa que quem instalou não fez uma bagunça completa. Apenas como um lembrete: /bin
, e /lib
outside pertencem ao gerenciador de pacotes ; pertence ao administrador do sistema. Você instalou software manualmente em ; isso é bom./bin
/usr
/usr/local
/usr/local
/usr/local
O pacote binário do node.js coloca os arquivos em uma árvore comum, contendo:
- Alguns arquivos de documentação no diretório de nível superior.
bin/node
ebin/npm
share/man/man1/node.1
lib/node_modules
share/systemtap/tapset/node.stp
include/node
Como node
está em /usr/local/bin
, procure /usr/local
também os outros arquivos e diretórios, por exemplo /usr/local/share/man/man1/node.1
, , etc. Se você os encontrar, remova-os. Se você não os encontrar, eles podem ter sido instalados em outro lugar ou não; você pode tentar locate
descobrir onde eles estão (se estiverem presentes: os arquivos de cabeçalho abaixo include
e o arquivo systemtap não são úteis para todos).
Parece que /opt/node-v0.12.7
é a árvore de origem. Você pode remover isso.
Se você estiver preocupado em remover um arquivo que seja necessário, certifique-se de que seus backups estejam atualizados - ou apenas mova os arquivos para fora do caminho ou mantenha um tarball deles enquanto testa se seu sistema ainda funciona .
Se vocês sãorealmentepreocupado e com pressa, é provável que a versão instalada manualmente não entre em conflito com a versão rpm - existe apenas aquele node
binário (e provavelmente npm
também) que está à frente da versão no /usr/bin
PATH. Renomeie /usr/local/bin/node
para /usr/local/bin/node-0.12.7
(e da mesma forma para npm
) e node
ou #!/usr/bin/env node
invocará a versão instalada pelo sistema.