Как полностью удалить Node.js и переустановить с самого начала (Mac OS X)

1042

Моя версия node всегда v0.6.1-pre даже после установки brew node и установки NVM v0.6.19.

Моя версия node:

node -v
v0.6.1-pre

NVM говорит об этом (после того, как я впервые установил версию node в одном терминале bash):

nvm ls
v0.6.19
current:    v0.6.19

Но когда я перезапускаю bash, это то, что я вижу:

nvm ls
v0.6.19
current:    v0.6.1-pre
default -> 0.6.19 (-> v0.6.19)

Итак, где эта phantom node 0.6.1-pre версия и как я могу избавиться от нее? Я пытаюсь установить библиотеки через NPM, чтобы я мог работать над проектом.

Я попытался использовать brew для обновления до NVM, используя "brew update" и "brew install node". Я попытался удалить каталог "node" в моем /usr/local/include и "node" и "node_modules" в моем "/usr/local/lib". Я попытался удалить npm и переустановить его после этих инструкций.

Все это, потому что я пытался обновить более старую версию node для установки библиотеки zipstream. Теперь папки в каталоге моих пользователей и версия node STILL не обновлены, хотя NVM говорит, что использует 0.6.19.

В идеале я хотел бы удалить nodejs, npm и nvm и просто переустановить всю вещь с нуля в своей системе.

Показать ещё 2 комментария
Теги:
npm

20 ответов

1546
Лучший ответ

По-видимому, существовала папка /Users/myusername/local которой содержались include с node и lib с node и node_modules. Как и почему это было создано вместо того, чтобы в моей папке /usr/local, я не знаю.

Удаление этих локальных ссылок исправило фантом v0.6.1-pre. Если у кого-то есть объяснение, я выберу это как правильный ответ.

РЕДАКТИРОВАТЬ:

Возможно, вам также потребуется выполнить дополнительные инструкции:

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

что эквивалентно (так же, как и выше)...

sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node* /usr/local/lib/dtrace/node.d ~/.npm ~/.node-gyp 

или (так же, как и выше) сломан...

Чтобы полностью удалить узел + npm, нужно сделать следующее:

  1. перейдите в /usr/local/lib и удалите любой узел и node_modules
  2. перейдите в /usr/local/include и удалите любой каталог node и node_modules
  3. если вы установили с узлом установки brew, запустите узел удаления brew в своем терминале
  4. проверьте домашний каталог на наличие локальных папок, папок lib или include и удалите оттуда любые узлы или модули_узлов
  5. перейдите в /usr/local/bin и удалите любой исполняемый файл узла

Вам также может понадобиться:

sudo rm -rf /opt/local/bin/node /opt/local/include/node /opt/local/lib/node_modules
sudo rm -rf /usr/local/bin/npm /usr/local/share/man/man1/node.1 /usr/local/lib/dtrace/node.d

Кроме того, NVM изменяет переменную PATH в $HOME/.bashrc, которая должна быть возвращена вручную.

Затем загрузите nvm и следуйте инструкциям по установке узла. Я полагаю, что последние версии узла поставляются с npm, но вы также можете переустановить его.

  • 0
    У меня тоже сработало. Спасибо! Должен был запустить установщик узла, хотя. n и nvm оба не работали у меня с первой попытки.
  • 0
    Я пытаюсь выполнить эти шаги, но Терминал выплевывает сообщение «Отказано в доступе» и сообщает, что каталог не пуст. Есть идеи?
Показать ещё 30 комментариев
383

Для пользователей Brew OSX:

Удалять:

brew uninstall node; 
# or 'brew uninstall --force node' which removes all versions
brew cleanup;
rm -f /usr/local/bin/npm /usr/local/lib/dtrace/node.d;
rm -rf ~/.npm;

Установить:

brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules' # <--- add this ~/.bashrc

Вы можете запустить brew info node для получения более подробной информации об установке вашего узла.


рассмотреть возможность использования NVM вместо варки

NVM (менеджер версий узлов) - это портативное решение для управления несколькими версиями узлов

https://github.com/creationix/nvm

> nvm uninstall v4.1.0
> nvm install v8.1.2
> nvm use v8.1.2
> nvm list
         v4.2.0
         v5.8.0
        v6.11.0
->       v8.1.2
         system
  • 2
    Как настроить env vars так, чтобы узел и npm были доступны после такой установки?
  • 12
    Вам может потребоваться запустить brew с флагом --force чтобы убедиться, что все версии узла удалены: $ brew uninstall --force node
Показать ещё 8 комментариев
168

Я знаю, что этот пост немного устарел, но просто хотел поделиться командами, которые работали для меня в Terminal при удалении Node.js.

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

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

ОБНОВЛЕНИЕ: 23 SEP 2016


Если вы боитесь запускать эти команды...

Благодаря jguix для this quick tutorial.

Сначала создайте промежуточный файл:

lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom >> ~/filelist.txt

Вручную просмотрите файл (расположенный в папке Home)

 ~/filelist.txt

Затем удалите файлы:

cat ~/filelist.txt | while read f; do sudo rm /usr/local/${f}; done

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

Для 10.10.5 и выше

Спасибо Lenar Hoyt

Источник комментария: gistcomment-1572198

Исходный текст: TonyMtz/d75101d9bdf764c890ef

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

sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
  • 13
    Вау ... это ужасно. По крайней мере, первый «rm» не является «rm -rf», который, если на выходной строке sbom есть пустая строка, удалит все / usr / local. Перед тем, как сделать что-то столь сложное, внимательно изучите вывод sbom и откуда все эти dir-файлы и убедитесь, что вы точно знаете, что вы удаляете.
  • 15
    Я должен добавить ... если у вас здоровый инстинкт самосохранения, вам будет крайне сложно набрать или скопировать и вставить эту вторую команду, которая вообще начинается с "sudo rm -rf /". Одно чихание, или кошка прыгает на клавиатуре, и вы уничтожили свою файловую систему.
Показать ещё 8 комментариев
102

В Mavericks я устанавливаю его из node pkg (с сайта nodejs), и я удаляю его, поэтому я могу переустановить его с помощью brew. Я только запускаю 4 команды в терминале:

  • sudo rm -rf /usr/local/lib/node_modules/npm/
  • brew uninstall node
  • brew doctor
  • brew prune

Если есть еще установка node, повторите шаг 2. После того, как все в порядке, я устанавливаю с помощью brew install node

  • 34
    1 работал, но 2 не работает. Я получаю "нет такой бочонок: usr / local / Cellar / node"
  • 0
    Да, это лучше, если у вас работают Mavericks
Показать ещё 3 комментария
31
  • Во-первых:

    lsbom -f -l -s -pf /var/db/receipts/org.nodejs.pkg.bom | while read f; do  sudo rm /usr/local/${f}; done
    
    sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
    
  • Чтобы повторить, лучший способ (я нашел) полностью удалить node + npm - сделать следующее:

    перейдите к /usr/local/lib и удалите любые node и node_modules

    cd /usr/local/lib
    
    sudo rm -rf node*
    
  • перейдите к /usr/local/include и удалите все node и node_modules каталог

    cd /usr/local/include
    
    sudo rm -rf node*
    
  • если вы установили с помощью brew install node, затем запустите brew uninstall node в терминале

    brew uninstall node
    
  • проверьте свой домашний каталог на наличие любых "локальных" или "lib" или "включенных" папок и удалите из него node "или" node_modules "

    перейдите в /usr/local/bin и удалите исполняемый файл node

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
    
  • Возможно, вам также понадобятся дополнительные инструкции:

    sudo rm -rf /usr/local/share/man/man1/node.1
    
    sudo rm -rf /usr/local/lib/dtrace/node.d
    
    sudo rm -rf ~/.npm
    

Источник: tonyMtz

  • 6
    Удаление node* не является особенно безопасным способом продолжения. Там могут быть другие двоичные файлы с этим префиксом.
  • 2
    Отлично, наконец, через 3 дня, когда время от времени возникали проблемы с npm, полностью удалялись и переустанавливались с помощью brew на моем Mac, это работает как чудо.
21

понижение node до 0,10.36

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n 0.10.36

upgrade node до стабильного v

  sudo npm cache clean -f
  sudo npm install -g n
  sudo n stable
  • 0
    Я просто сделал это и, как ни странно, он снизил npm с 6.4.1 до 6.2.0.
19

Я не уверен, что это связано с тем, что у меня была старая версия (4.4.5), или если она используется, потому что я использовал официальный установщик, но большинство файлов, на которые ссылаются другие ответы, не было в моей системе. Мне нужно было удалить следующее:

~/.node-gyp
~/.node_repl_history
/usr/local/bin/node
/usr/local/bin/npm
/usr/local/include/node
/usr/local/lib/dtrace/node.d
/usr/local/lib/node_modules
/usr/local/share/doc/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp

Я решил сохранить ~/.npm, потому что планировал переустановить Node с помощью Homebrew.

  • 0
    Этот ответ был сделан в 2012 году, поэтому я уверен, что он имеет какое-то наследие. Теперь, если появляются новые ответы, я оцениваю их после проверки, если они эффективны.
  • 0
    Работал на меня в дополнение к ответу, принятому выше
7

Работал на меня.

$node --version

v11.1.0

$nvm deactivate

$nvm uninstall v11.1.0
  • 4
    Но только если у вас установлен nvm .
  • 0
    @SebastianDressler Да :-) brew установить nvm. Более подробная информация здесь stackabuse.com/how-to-uninstall-node-js-from-mac-osx
6

Развернувшись на Доминический Tancredi удивительный ответ, я перевел это в пакет bash и автономный script. Если вы уже используете "Back Package Manager" под названием bpkg, вы можете установить script, запустив:

bpkg install -g brock/node-reinstall

Или вы можете взглянуть на script на Github в brock/node-reinstall. script позволяет переустанавливать node с помощью nvm или nave и указывать версию node по умолчанию.

  • 1
    Я собирался опубликовать это и увидеть, что автор сам разместил наилучший из возможных ответов на проблему: используйте один раз переустановить узел, и вы никогда не будете оглядываться назад. Я попал в ход и готов к дальнейшему развитию! Приветствия для этого @brockangelo!
  • 3
    Предупреждение ..... сценарий node-reinstall содержит sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} строку: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Так что, если вам случится независимо иметь каталог с таким именем в вашем $HOME (как и я) это будет забито!
6

В дополнение к основному ответу мне нужно было удалить все экземпляры npm, найденные в:

rm -rf /usr/local/share/man/man1/npm*
  • 1
    Это должен быть комментарий к соответствующему ответу, а не новый ответ.
6

У меня возникла проблема при удалении Node.js на моем mac. У меня было какое-то странное поведение, такое как npm по-прежнему их даже после того, как он удалил все это.

Это было потому, что у меня была старая установка, выполненная с помощью macport. Поэтому вам также нужно удалить его с помощью порта:

sudo port uninstall nodejs

Возможно, он установил много разных версий Node.js, поэтому удалите их все (один за другим).

  • 1
    Это именно то, что случилось со мной :-) Спасибо за ваш ответ на добавление. Ну, у меня появилось несколько версий Cordova, и один npm не мог удалить одну Cordova, и наоборот.
5

возможно, вам нужно сделать

hash -r 

это помогает с проблемой symlink

$ node -v
$ bash: /opt/local/bin/node: No such file or directory
4

Вы можете клонировать https://github.com/brock/node-reinstall и запускать простую команду, как указано в репозитории. После этого просто перезапустите свою систему.
Это самый простой метод, который также работал у меня.

4

Я установил Node.js из источника, загруженного из репозитория git. Я установил с помощью:

./configure
$ make
$ sudo make install

Поскольку файл make поддерживает его, я могу сделать:

$ sudo make uninstall
  • 0
    Как запустить это параллельно? скажи я хочу запустить 2 версии?
2

Лучше всего скачать установочный пакет:.pkg на Mac. Предпочитаю последнюю стабильную версию.

Вот ссылка: Node.js

Этот пакет в конечном итоге перезапишет предыдущую версию и соответственно установит переменные среды. Просто запустите установщик, и все будет сделано в несколько кликов.

1

Это исправило это для меня. Исправление npm в Mac OS X для пользователей Homebrew. И это не требует слишком много шагов.

Просто перейдите к части решения, если вам все равно, почему.

Вот соответствующая часть для удобства:

Решение

Это решение исправляет ошибку, вызванную попыткой запустить npm update npm -g. Когда вы закончите, вам также не нужно будет использовать sudo для глобальной установки модулей npm.

Прежде чем начать, запишите все глобально установленные пакеты npm. Эти инструкции позволят вам удалить все эти пакеты. После того, как вы закончите, вам нужно переустановить их.

Выполните следующие команды, чтобы удалить все существующие глобальные модули npm, удалить узел и npm, переустановить узел с правильными значениями по умолчанию, настроить местоположение для устанавливаемых глобальных модулей npm, а затем установить npm в качестве собственного пакета.

rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

Узел и npm должны быть правильно установлены в этой точке. Последний шаг - добавить ~/.npm-packages/bin в вашу PATH чтобы можно было использовать npm и глобальные npm-пакеты. Для этого добавьте следующую строку в ваш ~/.bash_profile:

export PATH="$HOME/.npm-packages/bin:$PATH"

Теперь вы можете без проблем переустановить любые необходимые глобальные пакеты npm.

  • 4
    Ответы только на ссылки не рекомендуется использовать при переполнении стека.
  • 0
    @AndrewGrimm имеет смысл, я скопировал соответствующую часть.
Показать ещё 1 комментарий
0
  • Удалить узел и/или узел_модули из /usr/local/lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
    
  • Удалить узел и/или узел_модули из /usr/local/include

  • Удалить узел, узел-отладку и узел-gyp из /usr/local/bin
  • Удалите .npmrc из вашего домашнего каталога (это ваши настройки npm, не удаляйте это, если вы планируете переустановить Node прямо сейчас)
  • Удалить .npm из вашего домашнего каталога
  • Удалите .node-gyp из вашего домашнего каталога
  • Удалите .node_repl_history из вашего домашнего каталога
  • Удалить узел * из /usr/local/share/man/man1/
  • Удалить npm * из /usr/local/share/man/man1/
  • Удалить node.d из /usr/local/lib/dtrace/
  • Удалить узел из /usr/local/opt/local/bin/
  • Удалить узел из /usr/local/opt/local/include/
  • Удалить node_modules из /usr/local/opt/local/lib/
  • Удалить узел из /usr/local/share/doc/
  • Удалите node.stp из /usr/local/share/systemtap/tapset/
0

Если вы не можете найти узел, просто запустите whereis node и whereis npm и whereis nvm и вы можете при необходимости удалить перечисленные каталоги.

Вам также нужно будет полностью закрыть свой терминал и снова открыть его, чтобы изменения вступили в силу.

0

Прежде всего, вам нужно деактивировать узел: (mac) после установки новой версии узла.

nvm deactivate

Это удалено /Users/user_name/.nvm/*/bin из $ PATH

И после этого узел был обновлен

node --version
v10.9.0
-9

(сервер: ubuntu 14)

1.) установить nvm (node менеджер версий) https://github.com/creationix/nvm

2.) nvm install node

3.) npm -v (запросите версию npm = > 3.8.6)

4.) node -v (запрос node version = > v6.0.0)

  • 0
    Это ветка про макинтош. Зачем выкидывать убунту в mxi?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню