pkg (Mac OS X)에서 설치된 nodejs를 제거하려면 어떻게합니까?


124

Mac의 pkg 파일에서 NodeJS를 설치했습니다. 이제 제거해야합니다. 방법을 알려주세요. 이 목록에서 파일을 제거하려고했습니다.

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

하지만 노드는 여전히 내 컴퓨터에 있습니다.


1
나는주의 할 수 sudo npm uninstall npm -g아래의 답변보다 훨씬 더 안전하고 더 쉽습니다?
— tomsmeding

17
그러나 그것은하지 제거 Node.js를 않습니다
— 제이크

답변:


172

나는 달렸다 :

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.*

요점 2697848 로 코딩 됨

업데이트 영수증 보인다 .bom는 교체해야하므로 파일 이름이 변경되었을 수 org.nodejs.pkg.bom와 org.nodejs.node.pkg.bom위이다. 그에 따라 요점이 업데이트되었습니다.


2
매우 유용합니다. 내가 추가 할 유일한 것은 노드 0.4가 / usr / local이 아니라 / usr에 설치된다는 것입니다. 따라서 "sudo rm / usr / local / $ {i}"를 변경해야합니다. "./usr/bin/node"나를 위해 내가 "sudo는 RM / $ {난}"좋아 경로 지정된 BOM을 파일 이후 한
— 더스틴 심슨

13
나는 그것에 대한 요점 을 만들었 습니다. 자신의 책임하에 사용하십시오.
— nicerobot

5
@nicerobot 요점 / 스크립트에 감사드립니다! 아마도 해당 스크립트 의 실제 요점 페이지가 여기에 있음 을 다른 사람들에게 지적해야합니다 . 또한,의 .sh 스크립트 나 자신을 실행하기위한 n00b되고, 나는에 있었다 $ chmod u+x uninstall-node.sh그리고 $ ./uninstall-node.sh전에 나를 위해 일했다. :)
— mhulse 2013

1
응, 멋진 대답. 내가 조금 남은 것이 무엇이든간에 rm -rf /Users/me/local/bin/node이제 흔들리는 노드가 불안정한 상태에서 바로 끝냈습니다 !
— Bent Cardan 2013 년

1
@Gomino와 같은 것을 실행할 때 더 일반적으로 말하면 시스템과 스크립트를 확인하여 원하는 작업을 수행할지 이해해야합니다. 스크립트는 이전 버전의 macOS 및 Node.js에 대해 작성되었으므로 업데이트가 필요할 수 있습니다.
— nicerobot

116

웹 사이트 에서 Node를 설치 한 경우 다음을 시도하십시오.

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

이것은 나를 위해 일했지만 질문이 있으면 내 GitHub는 'mnafricano'입니다.


나는 / opt / local / bin에 설치했다
— sasklacz 2014 년

1
당신은 MacPorts를을 사용하고 있기 때문 아마
— notthetup

이것은 @nicerobot의 스크립트 (높은 등급의 답변)가 부조리하게 실패한 후에 저에게 효과적이었습니다. 0.10.32를 제거하고 다시 설치했습니다.
— Jeff Dickey 2014 년

3
또한 실종/usr/local/lib/dtrace/node.d
— 파스칼 Belloncle

2
실종/var/db/receipts/org.nodejs.*
— 월러스 Sidhrée

68

이전 게시물에 이어 내가 사용한 전체 목록은 다음과 같습니다.

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

1
감사합니다. 내 MySQL이 작동을 멈 췄기 때문에 제거하기 만하면됩니다.이 + 재시작이 트릭을 수행했습니다.
— mizuki

또한 두 개의 추가 파일을 제거해야했습니다. /usr/local/share/doc/node/gdbinit그리고/usr/local/share/systemtap/tapset/node.stp
— xji

RM으로이 오류가 없어 : / usr / 지방 / 빈 / 노드 : 그런 파일이나 디렉토리, RM : /usr/local/share/man/man1/node.1을 : 그런 파일이나 디렉토리
— vikramvi

11

'native'node.js 설치를 삭제하기 위해 이전 답변에서 제안한 방법 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

그 후에야 Homebrew와 함께 node.js를 설치할 수 있습니다.


3
나를 위해 충분하지 않았다 -도에 있었다sudo rm /usr/local/bin/node /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d
— Hertzel 기네스

8

다음은 내가 사용한 명령의 전체 목록입니다 (위의 포스터 덕분에 많이 있습니다).

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

npm을 사용하여 제거하십시오. 실행 만하면 sudo npm uninstall npm -g모든 파일이 제거됩니다. bash 경로 이름과 같은 불필요한 것들을 제거하려면 다음을 실행하십시오 (nicerobot의 답변에서).

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


5

나는 AhrB의 목록을 가져 왔고 3 개의 파일을 더 추가했습니다. 내가 사용한 전체 목록은 다음과 같습니다.

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

1
나를 위해 훌륭하게 일했습니다! 시스템에서 노드를 제거한 상태로 두려면 마지막 줄을 건너 뜁니다.
— Rich

댓글에 대해 @Rich에게 감사드립니다. 마지막 줄에 주석을 달았습니다.
— hailong

3

이전 답변을 확장하는 약간의 편의 스크립트.

#!/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}

파일에 저장하고 다음을 사용하여 실행하십시오.

# bash filename.sh

0

brew가 모든 파일을 수동으로 제거한 후 나중에 설치에 불평했기 때문에 다음 파일도 제거해야했습니다.

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

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

그런 다음 다음을 수행하십시오.

brew install node 

brew link node

마크 업을 사용하여 코드 또는 경로를 모노 타입으로 형식화하십시오.
— buhtz

질문은 설치하지 않고 제거하는 것에 관한 것입니다. 당신은 아마 철자가 틀렸을 것입니다 ..... brew uninstall node
— mhasan

0

다음은 시행 착오 후에 작동했으며 이러한 디렉토리는 쓸 수 없으므로 제거하고 마침내 노드 및 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
서식을 수정했습니다. 텍스트 블록을 선택하고 중괄호 아이콘을 클릭하여 고정 폭 텍스트를 얻을 수 있습니다. 또는 매저 키스트라면 모든 줄을 4 개의 공백으로 들여 쓰십시오.
— Echo Nolan
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.