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