CentOS 7 伺服器有v0.12.7
安裝了 Node.js,並且安裝是使用 tar 完成的。當我嘗試使用 yum 安裝更現代版本的 Node.js 時,這會導致衝突。 需要採取哪些具體步驟(即需要輸入哪些具體命令)來安全刪除 tar-installed v.0.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
-installedv0.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
,但我正在等待,然後將下面的答案標記為已接受,因為記錄了下游錯誤在另一個帖子中。非常感謝對下游錯誤的任何幫助。這是似乎在這裡起作用的程式碼:
rm /usr/local/bin/node
rm /usr/local/bin/npm
\rm -R /opt/node-v0.12.7/
答案1
不可能為您提供執行卸載的具體命令,因為您沒有向我們提供用於執行安裝的特定命令。然而,根據您提供的信息,這並不是一項困難的任務。我建議你停止你正在進行的努力——你似乎在做一些非常複雜和無用的事情。
手動安裝的版本的二進位檔案為/usr/local/bin
.這很好:這意味著安裝它的人並沒有把事情弄得一團糟。提醒一下:/bin
、/lib
和/bin
Outside屬於套件管理器/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
,因此也要查找下的其他檔案和目錄/usr/local
,例如/usr/local/share/man/man1/node.1
等。如果您沒有找到它們,它們可能已安裝在其他地方,或者根本沒有安裝;您可以嘗試locate
找到它們的位置(如果存在:下面的頭檔include
和 systemtap 檔案並不對每個人都有用)。
看起來/opt/node-v0.12.7
是源樹。你可以刪除它。
如果您擔心刪除一個必要的文件,請確保您的備份是最新的,或者只是將這些文件移開或保留它們的 tarball,同時測試您的系統是否仍然正常工作。
如果你是真的擔心並且匆忙,很可能手動安裝的版本與 rpm 版本不衝突 - 只有那個二進位node
(也可能)比PATH 中npm
的版本領先。/usr/bin
重新命名/usr/local/bin/node
為/usr/local/bin/node-0.12.7
(對於 也同樣npm
)和node
或#!/usr/bin/env node
將呼叫系統安裝的版本。