Como remover um Node.js instalado no tar do CentOS 7?

1

Um servidor do CentOS 7 tem v0.12.7 do 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 tomadas (ou seja, quais comandos específicos precisam ser digitados) para remover com segurança o v.0.12.7 ? instalado pelo tar?

O tar para v0.12.7 pode ser encontrado neste link. .

Além disso, caso isso seja importante, os arquivos tar 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 removo 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 do @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]# 

Por isso, 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 de downstream documentado em outra postagem . Qualquer ajuda sobre o erro a jusante é 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/
    
por CodeMed 14.02.2016 / 18:43

1 resposta

2

É impossível fornecer comandos específicos para executar a desinstalação porque você não nos fornece os comandos específicos que foram usados para executar a instalação. No entanto, com base nas informações fornecidas, essa não é uma tarefa difícil. Eu recomendo que você pare com seus esforços contínuos - você parece estar fazendo algumas 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 lembrete: /bin , /lib , /bin e /usr outside /usr/local pertencem ao gerenciador de pacotes; /usr/local pertence ao administrador do sistema. Você instalou manualmente o software em /usr/local ; tudo bem.

O pacote binário de node.js coloca os arquivos sob uma árvore comum, contendo:

  • Alguns arquivos de documentação no diretório de nível superior.
  • bin/node e bin/npm
  • share/man/man1/node.1
  • lib/node_modules
  • share/systemtap/tapset/node.stp
  • include/node

Como node está em /usr/local/bin , procure também os outros arquivos e diretórios em /usr/local , por exemplo, /usr/local/share/man/man1/node.1 , etc. Se você os encontrar, remova-os. Se você não encontrá-los, eles podem ter sido instalados em outro lugar, ou não em todos; você pode tentar locate para descobrir onde eles estão (se estiverem presentes: os arquivos de cabeçalho em 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, verifique se os backups estão atualizados ou mova os arquivos fora do caminho ou mantenha um tarball deles enquanto testa que o sistema ainda funciona.

Se você está realmente preocupado e com pressa, é provável que a versão instalada manualmente não esteja em conflito com a versão rpm - só existe esse node binário (e provavelmente npm também) que está à frente da versão em /usr/bin no 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.

    
por 15.02.2016 / 01:24