Как удалить Node.js, установленный с помощью tar, из CentOS 7?

Как удалить Node.js, установленный с помощью tar, из CentOS 7?

На сервере CentOS 7 v0.12.7установлен Node.js, и установка была выполнена с помощью tar. Это приводит к конфликтам, когда я пытаюсь установить более современную версию Node.js с помощью yum. Какие конкретные шаги необходимо предпринять (т. е. какие конкретные команды необходимо ввести) для безопасного удаления tar-installed v.0.12.7?

Thetarможно v0.12.7найти по этой ссылке..

Также, если это важно, tarна сервере установлены следующие файлы:

[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 /]# 

Конфликт между двумя версиями можно увидеть из следующих команд:

[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 /]#   

Так как же мне безопасно удалить tar-installed v0.12.7? Какие конкретные команды нужно ввести?


ПОПРОБУЕМ ПОДХОД @Gilles:


Согласно предложениям в ответе @Gille, я попробовал следующее:

[root@localhost local]# cd /usr/local/bin
[root@localhost bin]# ls
bower  express  grunt  gulp  node  nodemon  npm  yo
[root@localhost bin]# 

Поэтому я попробовал следующие команды, которые, похоже, удалили v0.12.7, но я подожду, прежде чем отметить ответ ниже как принятый, поскольку есть ошибка в нисходящем направлении, которая задокументированав этом другом сообщении. Любая помощь по ошибке downstream будет высоко оценена. Вот код, который, кажется, сработал здесь:

rm /usr/local/bin/node
rm /usr/local/bin/npm
\rm -R /opt/node-v0.12.7/

решение1

Невозможно дать вам конкретные команды для выполнения удаления, поскольку вы не даете нам конкретных команд, которые использовались для выполнения установки. Однако, основываясь на предоставленной вами информации, это не сложная задача. Я рекомендую вам прекратить ваши текущие усилия — похоже, вы делаете какие-то очень сложные и бесполезные вещи.

В версии, установленной вручную, двоичный файл находится в /usr/local/bin. Это хорошо: это означает, что тот, кто его установил, не натворил дел. Просто напоминание: /bin, /lib, /binи /usrснаружи /usr/localпринадлежат менеджеру пакетов; /usr/localпринадлежат системному администратору. У вас есть установленное вручную программное обеспечение в /usr/local; это нормально.

Двоичный пакет node.js помещает файлы в общее дерево, содержащее:

  • Некоторые файлы документации в каталоге верхнего уровня.
  • bin/nodeиbin/npm
  • share/man/man1/node.1
  • lib/node_modules
  • share/systemtap/tapset/node.stp
  • include/node

Так как nodeнаходится в , найдите также /usr/local/binдругие файлы и каталоги в , например , и т. д. Если вы их найдете, удалите их. Если вы их не найдете, они могли быть установлены в другом месте или вообще не установлены; вы можете попробовать найти, где они находятся (если они присутствуют: заголовочные файлы в и файл systemtap полезны не всем)./usr/local/usr/local/share/man/man1/node.1locateinclude

Похоже, /opt/node-v0.12.7это исходное дерево. Его можно удалить.

Если вы беспокоитесь об удалении файла, который оказался необходимым, убедитесь, что ваши резервные копии актуальны, или просто переместите файлы в другое место или сохраните их в архиве, пока вы проверяете работоспособность своей системы.

Если выДействительнообеспокоены и спешите, скорее всего, установленная вручную версия не конфликтует с версией rpm — есть только тот nodeдвоичный файл (и, вероятно, npmтакже), который находится перед версией в /usr/binв PATH. Переименуйте /usr/local/bin/nodeв /usr/local/bin/node-0.12.7(и аналогично для npm) и nodeили #!/usr/bin/env nodeвызовет установленную в системе версию.

Связанный контент