113

Tôi đã cài đặt NodeJS từ tệp pkg trên máy Mac của mình. Bây giờ tôi cần gỡ cài đặt nó. Hãy cho tôi biết làm thế nào để làm điều đó. Tôi đã cố xóa các tập tin khỏi danh sách này:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom

Nhưng nút vẫn còn trên máy tính của tôi.

|
169

Tôi đã chạy

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom \
| while read i; do
  sudo rm /usr/local/${i}
done
sudo rm -rf /usr/local/lib/node \
     /usr/local/lib/node_modules \
     /var/db/receipts/org.nodejs.*

Được mã hóa thành ý chính 2697848

Cập nhật Có vẻ như .bomtên tệp biên lai có thể đã thay đổi, do đó bạn có thể cần phải thay thế org.nodejs.pkg.bombằng org.nodejs.node.pkg.bomở trên. Các ý chính đã được cập nhật tương ứng.

|
  • 1

    Rất hữu ích. Điều duy nhất tôi muốn thêm là nút 0.4 ish được cài đặt trong / usr, không phải / usr / local. Vì vậy, "sudo rm / usr / local / $ {i}" cần phải được thay đổi. Đối với tôi, tôi đã "sudo rm / $ {i}" kể từ các tập tin bom mà đường dẫn thích: "./usr/bin/node"

    – Trịnh Thanh Minh 14:04:41 16/03/2012
  • 1

    Tôi đã tạo ra một ý chính cho nó. Sử dụng nó có nguy cơ của riêng bạn.

    – Lý Hồng Giang 22:28:35 14/05/2012
  • 1

    câu trả lời chắc chắn. điều đó đã lừa

    – Ngô Thiện Tâm 07:12:21 23/08/2012
  • 1

    @nicerobot Cảm ơn ý chính / kịch bản! Có lẽ nên chỉ ra cho người khác rằng trang chính thực sự cho kịch bản đó là ở đây . Ngoài ra, là một n00b để tự chạy các tập lệnh .sh, tôi đã phải $ chmod u+x uninstall-node.shvà sau đó $ ./uninstall-node.shtrước khi nó hoạt động với tôi. :)

    – Dương Phương Quân 18:32:25 19/02/2013
  • 1

    @nicerobot và micky-hulse này là tuyệt vời nhất! +1 cho cả hai bạn. đồng thời, thử> "nút nào" hoặc "nút npm" nào sau khi thực thi tập lệnh để xem bạn có cài đặt nút / npm không (hoặc ít nhất, một trong các phiên bản đã cài đặt đã hết)

    – Tạ Ðình Kim 14:37:12 08/03/2013
107

Nếu bạn đã cài đặt Node từ trang web của họ , hãy thử điều này:

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

Điều này làm việc cho tôi, nhưng nếu bạn có bất kỳ câu hỏi nào, GitHub của tôi là 'mnafricano'.

|
63

Sau các bài viết trước, đây là danh sách đầy đủ tôi đã sử dụng

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
brew install node
|
11

Để xóa cài đặt node.js 'gốc', tôi đã sử dụng phương thức được đề xuất trong các câu trả lời trước đó sudo npm uninstall npm -g, kèm theo sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*.

NHƯNG, tôi cũng phải xóa hai thư mục sau:

sudo rm -rf /usr/local/include/node /Users/$USER/.npm

Chỉ sau đó tôi mới có thể cài đặt node.js với Homebrew.

|
8

Đây là danh sách đầy đủ các lệnh tôi đã sử dụng (Rất cám ơn các áp phích ở trên):

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
brew install node
|
5

Tôi lấy danh sách của AhrB, trong khi nối thêm ba tệp nữa. Dưới đây là danh sách đầy đủ tôi đã sử dụng:

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/systemtap/tapset/node.stp
sudo rm /usr/local/lib/dtrace/node.d
# In case you want to reinstall node with HomeBrew:
# brew install node
|
5

Sử dụng npm để gỡ cài đặt. Chỉ cần chạy sudo npm uninstall npm -gsẽ loại bỏ tất cả các tập tin. Để loại bỏ những thứ không liên quan như tên đường dẫn bash chạy cái này (từ câu trả lời của nicerobot):

sudo rm -rf /usr/local/lib/node \ /usr/local/lib/node_modules \ /var/db/receipts/org.nodejs.*

|
3

Một chút kịch bản tiện lợi mở rộng trên các câu trả lời trước.

#!/bin/bash

# Uninstall node.js
# 
# Options:
#
# -d Actually delete files, otherwise the script just _prints_ a command to delete.
# -p Installation prefix. Default /usr/local
# -f BOM file. Default /var/db/receipts/org.nodejs.pkg.bom

CMD="echo sudo rm -fr"
BOM_FILE="/var/db/receipts/org.nodejs.pkg.bom"
PREFIX="/usr/local"

while getopts "dp:f:" arg; do
    case $arg in
        d)
            CMD="sudo rm -fr"
            ;;
        p)
            PREFIX=$arg
            ;;
        f)
            BOM_FILE=$arg
            ;;
    esac
done

lsbom -f -l -s -pf ${BOM_FILE} \
    | while read i; do
          $CMD ${PREFIX}/${i}
      done

$CMD ${PREFIX}/lib/node \
     ${PREFIX}/lib/node_modules \
     ${BOM_FILE}

Lưu nó vào tập tin và chạy với:

# bash filename.sh
|
0

Sau đây đã hoạt động sau khi dùng thử và lỗi, và các thư mục này không thể ghi được, vì vậy tôi đã xóa chúng và cuối cùng có thể thay thế nút & npm.

sudo rm -rf /usr/local/share/systemtap
sudo rm -rf /usr/local/share/doc/node
sudo rm -rf /usr/local/Cellar/node/9.11.1
brew install node
==> Downloading https://homebrew.bintray.com/bottles/node-9.11.1.high_sierra.bottle.tar.gz
Already downloaded: /Users/xxx/Library/Caches/Homebrew/node-9.11.1.high_sierra.bottle.tar.gz
==> Pouring node-9.11.1.high_sierra.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/9.11.1: 5,125 files, 49.7MB

node -v
v9.11.1
npm -v
5.6.0
|
  • 1

    Tôi đã sửa đổi định dạng của bạn. Bạn có thể chọn một khối văn bản và nhấp vào biểu tượng dấu ngoặc nhọn để lấy văn bản đơn cách. Hoặc thụt lề mỗi dòng có bốn dấu cách nếu bạn là masochist.

    – Lý Hạnh Trang 17:36:34 07/04/2018
0

Tôi cũng phải xóa các tệp sau vì brew phàn nàn trong quá trình cài đặt sau khi xóa thủ công tất cả các tệp.

/usr/local/share/doc/node/gdbinit

/usr/local/share/systemtap/tapset/node.stp

và sau đó làm như sau

brew install node 

brew link node
|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.