Моя версия узла всегда v0.6.1-pre, даже после того, как я установил brew node и NVM установил v0.6.19.
Моя версия узла:
node -v
v0.6.1-pre
NVM говорит следующее (после того, как я впервые установил версию узла в одном терминале 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)
Так где же этот фантомный узел версии 0.6.1-pre и как от него избавиться? Я пытаюсь установить библиотеки через NPM, чтобы я мог работать над проектом.
Я пытался использовать BREW для обновления до NVM, используя brew update
и brew install node
. Я попытался удалить каталог "node" в моем, /usr/local/include
а также "node" и "node_modules" в моем /usr/local/lib
. Я попытался удалить npm и переустановить его, следуя этим инструкциям.
Все это потому, что я пытался обновить старую версию узла, чтобы установить библиотеку "zipstream". Теперь в моем каталоге пользователей есть папки, и версия узла STILL не устарела, хотя NVM говорит, что использует 0.6.19.
В идеале я хотел бы удалить nodejs, npm и nvm и просто переустановить все это с нуля в моей системе.
источник
Ответы:
Судя по всему, там была
/Users/myusername/local
папка, содержащаяinclude
сnode
иlib
сnode
иnode_modules
. Как и почему это было создано вместо того, чтобы в моей/usr/local
папке, я не знаю.Удаление этих локальных ссылок исправило фантом v0.6.1-pre. Если у кого-то есть объяснение, я выберу это как правильный ответ.
РЕДАКТИРОВАТЬ:
Возможно, вам также потребуется выполнить дополнительные инструкции:
что эквивалентно (так же, как выше) ...
или (так же, как и выше) сломан ...
Чтобы полностью удалить узел + npm, нужно сделать следующее:
Вам также может понадобиться:
Кроме того, NVM изменяет переменную PATH в
$HOME/.bashrc
, которая должна быть возвращена вручную .Затем загрузите nvm и следуйте инструкциям по установке узла. Я полагаю, что последние версии узла поставляются с npm , но вы также можете переустановить его.
источник
rm -rf /Users/[homedir]/.npm
./Users/[homedir]/.nvm
brew doctor
а затемbrew prune
убрал кучу сломанных символических ссылок для NPM.sudo rm -rf ~/.node-gyp
. Я добавил его с MacPorts, прежде чем перейти на варку.Для пользователей Brew OSX :
Удалять:
Установить:
Вы можете запустить
brew info node
для получения более подробной информации относительно установки вашего узла.рассмотреть возможность использования NVM вместо варки
NVM (менеджер версий узлов) - это портативное решение для управления несколькими версиями узлов
https://github.com/nvm-sh/nvm
Вы можете использовать это с AVN для автоматического переключения версий при переходе между разными проектами с разными зависимостями узлов.
источник
--force
флагом, чтобы убедиться, что все версии узла удалены:$ brew uninstall --force node
-bash: /usr/local/bin/npm: No such file or directory
что я могу сделать сейчас?Я знаю, что это сообщение немного устарело, но я просто хотел поделиться командами, которые работали для меня в Терминале при удалении Node.js.
ОБНОВИТЬ:
23 SEP 2016
Если вы боитесь выполнять эти команды ...
Спасибо
jguix
заthis quick tutorial
.Сначала создайте промежуточный файл:
Просмотрите файл вручную (находится в вашей
Home
папке)Затем удалите файлы:
Для 10.10.5 и выше
Спасибо
Lenar Hoyt
Gist Комментарий Источник:
gistcomment-1572198
Оригинальный Гист:
TonyMtz/d75101d9bdf764c890ef
источник
org.nodejs.node.pkg.bom
вместоorg.nodejs.pkg.bom
.udo..
а затем добавляласьs
перед запуском./usr/local/./node/yada
. Для удаления./
префикса я использовал фильтр среза:lsbom -f -l -s -pf /var/db/receipts/org.nodejs.node.pkg.bom | cut -c 3- | while read f; do sudo rm /usr/local/${f}; done
На Mavericks я устанавливаю его с узла pkg (с сайта nodejs) и удаляю его, чтобы переустановить с помощью brew. Я запускаю только 4 команды в терминале:
sudo rm -rf /usr/local/lib/node_modules/npm/
brew uninstall node
brew doctor
brew cleanup --prune-prefix
Если все еще существует узел установки, повторите шаг 2. После того, как все в порядке, я устанавливаю с помощью
brew install node
источник
brew link
шаг не завершился успешно->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Первый:
Напомним, что лучший способ (я обнаружил) полного удаления node + npm - это сделать следующее:
перейти
/usr/local/lib
и удалить любой узел и node_modulesперейти
/usr/local/include
и удалить любой каталог node и node_modulesесли вы установили с помощью
brew install node
, то запуститеbrew uninstall node
в своем терминалепроверьте домашний каталог на наличие папок «local», «lib» или «include» и удалите оттуда любые «node» или «node_modules».
перейдите в / usr / local / bin и удалите любой исполняемый файл узла
Возможно, вам также потребуется выполнить дополнительные инструкции:
Источник: ТониМц
источник
node*
не особенно безопасный способ продолжить. Там могут быть другие двоичные файлы с этим префиксом.can't open /var/db/receipts/org.nodejs.pkg.bom: No such file or directory **** Can't open /var/db/receipts/org.nodejs.pkg.bom.
пожалуйста, помогитепонизить уровень до 0.10.36
обновить узел до стабильного v
источник
Я не уверен, что это потому, что у меня была старая версия (4.4.5), или потому, что я использовал официальный установщик, но большинство файлов, на которые есть ссылки в других ответах, не существовало в моей системе. Мне осталось только удалить следующее:
Я решил оставить,
~/.npm
потому что я планировал переустановить Node с Homebrew.источник
Я суммировал существующие ответы и убедился, что Node js ПОЛНОСТЬЮ УДАЛЕН вместе с NPM.
brew uninstall node
which node
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/lib/node_modules/npm/
brew doctor
brew cleanup --prune-prefix
Строки для копирования в терминал:
источник
.node-gyp/
,.npm/
,.npm-global/
и.nvm/
. Могу ли я удалить их или оставить их, если планирую переустановить узел?Удалить узел и / или узел_модули из / usr / local / lib
Удалить узел и / или узел_модули из / usr / local / include
источник
node@6
от/usr/local/opt/
Работал на меня.
источник
nvm
установили.После
Я должен был знать, какой узел
затем удали это
источник
Если вы уже установили nvm, выполните следующие команды
nvm deactivate
- Это удалит /.nvm/*/bin из $ PATHnvm list
- перечислить все версии узлов, установленных в системеnvm uninstall <version>
Вы можете указать все версии, которые хотите удалить.Это всегда хорошо, что вы устанавливаете узел с помощью
nvm
и удаляете, используяnvm
вместоbrew
.Это решение сработало для меня.
Дополнительные команды
which node
знать путь узла, установленного в вашей системе. Вы можете использовать этот каталог для удаления узла вручную. Тогда вам может потребоваться настроить файл PATH соответствующим образом.источник
В продолжение удивительного ответа Доминика Танкреди , я свернул это в пакет bash и автономный скрипт. Если вы уже используете «Back Package Manager» под названием bpkg, вы можете установить скрипт, выполнив:
Или вы можете взглянуть на скрипт на Github в brock / node-reinstall . Сценарий позволяет вам переустановить узел, используя nvm или nave, и указать версию узла в качестве значения по умолчанию.
источник
node-reinstall
скрипт содержит следующую строку:sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*}
так что если вам случится, что у вас есть каталог с таким именем$HOME
(как и у меня), он будет сбит с толку!В дополнение к основному ответу мне нужно было удалить все экземпляры npm, найденные в:
источник
Я столкнулся с проблемой при удалении Node.js на моем Mac. У меня было какое-то странное поведение, как будто они
npm
все еще даже после удаления со всем этим.Это было потому, что у меня была старая установка с macport. Таким образом, вы также должны удалить его с помощью порта:
Может потребоваться установить много разных версий Node.js, поэтому удалите их все (одну за другой).
источник
может быть, вам нужно сделать
это помогает с проблемой символической ссылки
источник
Вы можете клонировать https://github.com/brock/node-reinstall и запустить простую команду, указанную в репозитории. После этого просто перезагрузите систему.
Это самый простой метод, который также работает для меня.
источник
Лучше всего скачать установочный пакет: .pkg на Mac. Предпочитаю последнюю стабильную версию.
Вот ссылка: Node.js
Этот пакет в конечном итоге перезапишет предыдущую версию и соответственно установит переменные среды. Просто запустите установщик, и все будет сделано в несколько кликов.
источник
Я установил Node.js из источника, загруженного из репозитория git. Я установил с:
Поскольку файл make поддерживает это, я могу сделать:
источник
В дополнение к ответам, объясняющим очистку и установку с помощью homebrew, я обнаружил, что сам homebrew предоставил четкие указания на конфликты символических ссылок.
К сожалению, он предоставляет их по одному, когда сталкивается с ними, так что это немного трудоемко, но, похоже, он обнаружил все коллизии и был единственным способом, которым я мог получить чистую установку с помощью homebrew.
По сути, этот процесс:
:
Вот вывод на экран из последних шагов моей установки - вы можете видеть, что это приводит к чистой установке (в конце концов ...):
источник
Прежде всего, вам нужно деактивировать узел: (mac) после установки новой версии узла.
Это удалено /Users/user_name/.nvm/*/bin из $ PATH
И после этого узел был обновлен
источник
Это исправило это для меня. Исправление npm в Mac OS X для пользователей Homebrew . И это не требует слишком много шагов.
Просто перейдите к части решения, если вам все равно, почему.
Вот соответствующая часть для удобства:
Решение
Это решение исправляет ошибку, вызванную попыткой запуска
npm update npm -g
. Как только вы закончите, вам также не нужно будет использоватьsudo
для установки модулей npm глобально.Прежде чем начать, запишите все глобально установленные пакеты npm. Эти инструкции помогут вам удалить все эти пакеты. После того, как вы закончите, вам нужно переустановить их.
Выполните следующие команды, чтобы удалить все существующие глобальные модули npm, удалить узел и npm, переустановить узел с правильными значениями по умолчанию, сконфигурировать расположение для устанавливаемых глобальных модулей npm, а затем установить npm как свой собственный пакет.
Узел и npm должны быть правильно установлены в этой точке. Последний шаг - добавить
~/.npm-packages/bin
в вашPATH
пакет npm и глобальные пакеты npm. Для этого добавьте следующую строку в ваш~/.bash_profile
:Теперь вы можете без проблем переустановить любой глобальный пакет npm, который вам нужен.
источник
В моем случае ни один из других ответов не работал, потому что я ранее понизился до node8. Поэтому вместо того, чтобы делать выше, у меня сработало следующее:
который вернулся
/usr/local/bin/node@8
вместо/usr/local/bin/node
поэтому я выполнил эту команду:
который работал, а затем загрузил последнюю версию pkg с официального сайта и установил. После этого мне пришлось закрыть свой терминал и начать снова, чтобы получить доступ к новой версии
источник
Если вы не можете найти узел, просто запустите
whereis node
иwhereis npm
иwhereis nvm
и вы можете удалить перечисленные каталоги при необходимости.Вам также нужно будет полностью закрыть свой терминал и снова открыть его, чтобы изменения вступили в силу.
источник
Докер - альтернативный подход
Docker - это своего рода сверхбыстрая виртуальная машина, которую можно использовать для запуска таких инструментов, как node (вместо этого устанавливайте их непосредственно в mac-os). Преимущества сделать это следующие
все вещи (файлы узлов 'milions') устанавливаются в образ / контейнер докера (они заключены в несколько файлов внутреннего докера)
вы можете сопоставить каталог Mac с проектом с вашим док-контейнером и иметь доступ к узлу - но вне докера система Mac-OS даже не знает, что узел установлен. Таким образом, вы получаете своего рода «виртуальную» консоль с доступными командами узлов, которая может работать с реальными файлами
Вы можете легко убить узел, найти его
docker ps
и убитьdocker rm -f name_or_num
Вы можете легко удалить образ / контейнеры Docker одной командой
docker rmi ...
и получить свободное место - и установить его снова, запустив скрипт (ниже)ваш узел инкапсулирован внутри докера и не имеет доступа ко всей системе - только к папкам, которые вы ему сопоставляете
Вы можете запускать службы узлов и легко сопоставлять их порт с портом Mac и иметь к ним доступ через веб-браузер.
Вы можете запустить много версий узлов одновременно
аналогичным образом вы можете установить другие инструменты, такие как (во многих версиях одновременно): php, базы данных, redis и т. д. - внутри докера без какого-либо взаимодействия с mac-os (которые вообще не замечают такого программного обеспечения). Например, вы можете одновременно запустить 3 mysql db с разными версиями и 3 php приложения с другой версией php ... - так что вы можете иметь много инструментов, но чистую систему
КОМАНДНАЯ РАБОТА: такую среду можно легко клонировать на другие машины (и даже в системы Windows / Linux - с некоторыми модификациями) и предоставлять идентичную среду уровня докера - так что вы можете легко настроить и повторно использовать ваши сценарии / файлы Docker, а также среду настройки для новый член команды очень быстро (ему просто нужно установить докер и создать аналогичную структуру папок и получить копию скриптов - вот и все). Я работаю таким образом 2 года и со своей командой - и мы очень счастливы
инструкция
Установите докер, используя, например, эту инструкцию
Подготовьте специальный каталог для работы, например, мой каталог
/Users/kamil/work
(я буду использовать этот каталог дальше, но он может быть произвольным) - этот каталог будет «интерфейсом» между контейнерами Docker и вашим ststem файлом Mac. Внутри этого каталога создайте следующую структуру:/Users/kamil/work/code
- здесь вы ставите свои проекты с кодом/Users/kamil/work/tools
/Users/kamil/work/tools/docker-data
- здесь мы отображаем выходные данные контейнеров, такие как журналы (или файлы базы данных, если кто-то использует db и т. д.)/Users/kamil/work/tools/docker
/Users/kamil/work/tools/docker/node-cmd
- здесь мы помещаем сценарии узла докеравнутри
tools
создать файл,.env
который будет содержать в одном месте глобальные пути, используемые в других скриптахПоказать фрагмент кода
innside dir
../node-cmd
создать файлdockerfile
со следующим содержимымПоказать фрагмент кода
innside dir
../node-cmd
создать файлrun-container
со следующим содержимым (этот файл должен быть исполняемым, например, пользователемchmod +x run-container
) - (обратите внимание, как мы сопоставляем порты и каталоги из внешнего «мира» с внутренней файловой системой докера)Показать фрагмент кода
Хорошо, теперь вы можете добавить проект, например,
work/code/myProject
и добавить к нему следующий файл 'run-cmd' (должен быть исполняемым)Показать фрагмент кода
затем, если вы запустите скрипт выше (двойным щелчком), вы увидите консоль с доступными командами узла в каталоге проекта, например
npm install
чтобы запустить проект в фоновом режиме (например, некоторые сервисы), например, запустить приложение angular-cli веб-сервера, вы можете использовать следующий сценарий (с именем -
run-front
должен быть исполняемым) - (вы также должны отредактировать/etc/hosts
файл, чтобы добавить соответствующий домен)Показать фрагмент кода
источник
@ lfender6445 ответ работал нормально для меня, чтобы удалить
Теперь, чтобы переустановить, у меня были проблемы с установкой последней версии вместо самой стабильной, поэтому для установки конкретной версии узла вы должны сделать:
источник
(сервер: Ubuntu 14)
1.) установить nvm (менеджер версий узлов) https://github.com/creationix/nvm
2.) nvm установить узел
3.) npm -v (запросить версию npm => 3.8.6)
4.) узел -v (запросить версию узла => v6.0.0)
источник