Як повністю видалити Node.js та перевстановити з початку (Mac OS X)


1289

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

Моя версія вузла:

node -v
v0.6.1-pre

NVM каже це (після того, як я вперше встановив версію вузла в одному баш-терміналі):

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-попередньої версії і як я можу його позбутися? Я намагаюся встановити бібліотеки через 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 та просто перевстановити всю річ з нуля в моїй системі.



/ usr / bin / node - ще один ...
Аарон Бленкуш

1
це може допомогти тому, хто встановив вузол через файл pkg. superuser.com/questions/36567/…
karthikeayan

Mac 10.13.5 має / Користувачі / myusername / node_modules Чи потрібно також видалити цю папку? Я шукав у цій темі, але ніхто не стикався з цим питанням, здається
vikramvi

@Pacerier навіть після наступної інструкції з gist, все ще вузол та npm існують на Mac OS 10.13.5
vikramvi

Відповіді:


1697

Мабуть, там була /Users/myusername/localпапка, яка містила a 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 /, включіть та видаліть будь - який каталог вузлів та node_modules
  3. якщо ви встановили вузол встановлення пива , тоді запустіть заварювання видалення вузла у своєму терміналі
  4. перевірити ваш домашній каталог для будь-якого локального або Lib або включати в себе папку і видалити будь-який вузол або node_modules звідти
  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 , я вважаю, але ви також можете його перевстановити.


82
Мені теж довелося rm -rf /Users/[homedir]/.npm.
розбита

17
Також потрібно було зняти/Users/[homedir]/.nvm
n0pe

42
Я також бігав, brew doctorа потім brew pruneприбирати купу зламаних символів для NPM.
Кріс Якоб

54
Я зібрав разом сценарій, який я зараз перевіряв битву. Дякую @DominicTancredi, це чудово працює! gist.github.com/brock/5b1b70590e1171c4ab54
Брок

13
Я також мав додати: sudo rm -rf ~/.node-gyp. Я додав його разом із MacPorts, перш ніж перейти на заварювання.
JESii

518

Для користувачів пивоваріння 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/nvm-sh/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

Ви можете використовувати це з AVN для автоматичного перемикання версій під час переходу між різними проектами з різними залежностями вузлів.


2
Як встановити env vars так, щоб вузол та npm були доступні після такої установки?
Павлов Максим Вікторович

13
Можливо, вам доведеться запустити brew з --forceпрапором, щоб переконатися, що всі версії вузла видалені: $ brew uninstall --force node
magikMaker

-bash: /usr/local/bin/npm: No such file or directoryщо я можу зробити зараз?
ValRob

5
> "розглянути можливість використання NVM замість заварки"; За іронією долі ви можете встановити NVM з brew !; Чудова порада, дякую.
HankCa

2
Використання NVM допомогло.
coderpc

186

Я знаю, що ця публікація трохи датована, але просто хотіла поділитися командами, які працювали на мене в Терміналі при видаленні 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.*

15
О, це жахливо. Принаймні перший "rm" не є "rm -rf", який, якщо є пустий рядок на виводі sbom, видалить би всі / usr / local. Перш ніж робити щось настільки важке, уважно вивчіть вихідні дані і звідки взялися всі ці папки та переконайтеся, що ви точно знаєте, що ви видаляєте.
Дон Хетч

16
Я повинен додати ... якщо у вас здоровий інстинкт самозбереження, вам буде надзвичайно важко набрати або скопіювати вставку другу команду, яка починається з "sudo rm -rf /". Одне чхання, або кішка стрибає на клавіатурі, і ви знищили вашу файлову систему.
Дон Хетч

2
Це org.nodejs.node.pkg.bomзамість org.nodejs.pkg.bom.
Ленар Хойт

1
@DonHatch скопіюйте рядок без першої літери, щоб вона починалася з, udo..а потім передбачте sперед її запуском.
youurayy

1
Команда lsbom виводить відносні шляхи, тому сценарій намагався видалити схожі шляхи /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
timiscoding

142

У Mavericks я встановлюю його з вузла pkg (з сайту nodejs) і видаляю його, щоб я міг повторно встановити за допомогою brew. Я виконую лише 4 команди в терміналі:

  1. sudo rm -rf /usr/local/lib/node_modules/npm/
  2. brew uninstall node
  3. brew doctor
  4. brew cleanup --prune-prefix

Якщо все-таки є установка вузла, повторіть крок 2. Зрештою все нормально, я встановлюю за допомогою brew install node


50
1 працював, але 2 невдачі. Я отримую "немає такої кеги: usr / local / льох / вузол"
PositiveGuy

Так, це найкраще, якщо у вас працює Mavericks
Dicer,

1
Я спробував це, але знову отримав таку ж помилку Помилка: brew linkКрок не завершився успішно
Чандні

Дякую, ідеально, за винятком того, що мені довелося додати
примушувати

1
FYI: Станом на це написання -->brew prune Error: Calling 'brew prune' is disabled! Use 'brew cleanup --prune-prefix' instead.
Майк С.

33
  1. Спочатку:

    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.*
  2. Для резюме, найкращий спосіб (я знайшов) повністю видалити вузол + npm - це зробити наступне:

    перейти до /usr/local/libта видалити будь-який вузол та node_modules

    cd /usr/local/lib
    
    sudo rm -rf node*
  3. перейти до /usr/local/includeта видалити будь-який каталог вузлів та node_modules

    cd /usr/local/include
    
    sudo rm -rf node*
  4. якщо ви встановили brew install node, запустіть brew uninstall nodeу своєму терміналі

    brew uninstall node
  5. перевірте домашній каталог на наявність будь-яких "локальних" або "lib" або "включення" папок, а також видаліть звідти будь-який "вузол" або "node_modules"

    перейдіть до / usr / local / bin та видаліть будь-який виконуваний вузол

    cd /usr/local/bin
    
    sudo rm -rf /usr/local/bin/npm
    
    ls -las
  6. Можливо, вам доведеться також виконати додаткові інструкції:

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

Джерело: tonyMtz


7
Видалення node*не є особливо безпечним способом продовження. Можуть бути й інші бінарні файли з цим префіксом.
Ленар Хойт

2
Чудово, нарешті через 3 дні, коли раз у раз виникали проблеми з npm, видаляються повністю та перевстановлюються за допомогою варіння на моєму комп'ютері, працює як принадність.
Аміт Браво

Коли вас звільнили з першої команди, 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.будь ласка, допоможіть
Ахтешам Шах

Навіть зробивши ці кроки на Mac 10.13.5, я все-таки міг бачити npm та node, що може піти не так?
vikramvi

25

пониження вузла до 0.10.36

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

оновити вузол до стабільного v

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

Я щойно це зробив і як не дивно, він знизив npm з 6.4.1 до 6.2.0.
Capn Sparrow

22

Я не впевнений, що це тому, що у мене була стара версія (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.


Ця відповідь була зроблена у 2012 році, тому я впевнений, що вона має певну спадщину. Тепер, якщо з’являються нові відповіді, я оскаржую їх після перегляду, чи ефективні вони.
Домінік Танкреди

15

Я узагальнив існуючі відповіді та переконався, що Node js ЦІЛЬКО СПРЯМЕНО разом із NPM.

  1. brew uninstall node
  2. which node
  3. sudo rm -rf /usr/local/bin/node
  4. sudo rm -rf /usr/local/lib/node_modules/npm/
  5. brew doctor
  6. brew cleanup --prune-prefix

Рядки для копіювання на термінал:

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/. Чи можу я видалити їх чи потрібно зберегти їх, якщо планую перевстановити вузол?
WaterTrash

10
  • Видаліть вузол та / або модулі node_modules з / usr / local / lib

          ex code:
          cd /usr/local/lib
          sudo rm -rf node
          sudo rm -rf node_modules
  • Видаліть вузол та / або модулі node_modules з / usr / local / include

  • Видалити node, nbu-debug та node-gyp з / usr / local / bin
  • Видаліть .npmrc з домашнього каталогу (це ваші налаштування npm, не видаляйте це, якщо ви плануєте негайно встановити Вузол)
  • Видаліть .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 /

Мені також довелося видалити node@6з/usr/local/opt/
ехо


8

Після

brew uninstall node

Я повинен був знати, який вузол

which node

потім видаліть це

rm -rf /usr/local/bin/node

7

Якщо ви вже встановили nvm, виконайте такі команди

  • nvm deactivate - Це видалить /.nvm/*/bin з $ PATH
  • nvm list - Список усіх версій вузла, встановлених у системі
  • nvm uninstall <version> Ви можете вказати всі версії, які потрібно видалити.

Завжди добре, що ви встановлюєте вузол, використовуючи nvmта видаляючи, використовуючи, nvm а не brew.

Це рішення спрацювало на мене.

Додаткові команди

  • which nodeзнати шлях вузла, встановленого у вашій системі. Ви можете запустити цей каталог для видалення вузла вручну. Тоді вам може знадобитися відповідним чином відрегулювати файл PATH.

6

Розгортаючись на дивовижну відповідь Домініка Танкреді , я скрутив це в пакет-баш і окремий сценарій. Якщо ви вже використовуєте "Назад Менеджер пакунків", який називається bpkg, ви можете встановити сценарій, виконавши:

bpkg install -g brock/node-reinstall

Або ви можете подивитися сценарій на Github за допомогою brock / node-reinstall . Сценарій дозволяє перевстановити вузол за допомогою nvm або nave і вказати версію вузла як за замовчуванням.


1
Я збирався опублікувати це і побачив, що сам автор опублікував найкращу можливу відповідь на проблему: використовуйте node-reinstall один раз, і ви ніколи не озирніться назад. Мене вдарив землю бігом і готовий до більшого розвитку! Привіт за це @brockangelo!
Уоллес Сідрее

3
Попередження ..... node-reinstallскрипт містить цей рядок: sudo rm -rf $HOME/{local,lib,include,node*,npm,.npm*} Отже, якщо вам трапляється самостійно мати у своєму каталозі таке ім’я $HOME(як і я), він стане клобером!
terrycojones

6

Додатково до основної відповіді, мені потрібно було видалити всі екземпляри npm, знайдені в:

rm -rf /usr/local/share/man/man1/npm*

1
Це має бути коментар до відповідної відповіді, а не нова відповідь.
Едвард Андерсон

5

У мене виникла проблема під час видалення Node.js на моєму комп'ютері. У мене була якась дивна поведінка, як npmі раніше, навіть після того, як усунули це з усім цим.

Це було тому, що я мав стару установку, виконану з макпорту. Тож вам також доведеться видалити його за допомогою порту:

sudo port uninstall nodejs

Можливо, буде встановлено багато різних версій Node.js, тому видаліть їх усі (одна за одною).


1
Саме це сталося зі мною :-) thx за вашу відповідь на додаток. Ну, я почав мати декілька версій Кордови, і одна npm не могла видалити одну Кордову і навпаки.
peter_the_oak


4

Ви можете клонувати https://github.com/brock/node-reinstall та запустити просту команду, яку вказано у сховищі. Після цього просто перезавантажте систему.
Це найпростіший метод і також працював для мене.


4

Найкращий спосіб - завантажити інсталяційний пакет: .pkg на mac. Віддайте перевагу останню стабільну версію.

Ось посилання: Node.js

Цей пакет згодом замінить попередню версію та відповідно встановить змінні середовища. Просто запустіть інсталятор та його зробіть за кілька кліків.


3

Я встановив Node.js з джерела, завантаженого з репозиторію git. Я встановив:

./configure
$ make
$ sudo make install

Оскільки файл make підтримує його, я можу:

$ sudo make uninstall

Як запустити його паралельно? скажіть, я хочу запустити 2 версії?

3

Як супутник відповідям, що пояснюють очищення та встановлення через homebrew, я виявив, що сам домашній бренд дав чіткі вказівки на зіткнення симпосилання.

На жаль, він надає їх по черзі, коли стикається з ними, тому це трохи трудомістко, але, схоже, знаходить усі сутички і це був єдиний спосіб, коли я міг отримати чисту установку з домашньою мовою.

По суті, процес:

  1. використовувати homebrew для видалення вузла
  2. чистий домашній пиріг
  3. використовувати homebrew, щоб встановити вузол і відзначити будь-який файл, позначений зіткненням
  4. видаліть файл, що стикається з прапором (або весь каталог, якщо це каталог "вузла")
  5. перейдіть до кроку 1, поки не отримаєте чисту установку

Діаграматично:

Ось вихід з екрану з останніх кроків моєї установки - ви можете побачити, що це призведе до чистої установки (зрештою ...):

computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/systemtap/tapset/node.stp
Target /usr/local/share/systemtap/tapset/node.stp
already exists. You may want to remove it:
  rm '/usr/local/share/systemtap/tapset/node.stp'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/share/systemtap/tapset/node.stp'
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink lib/dtrace/node.d
Target /usr/local/lib/dtrace/node.d
already exists. You may want to remove it:
  rm '/usr/local/lib/dtrace/node.d'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

To list all files that would be deleted:
  brew link --overwrite --dry-run node

Possible conflicting files are:
/usr/local/lib/dtrace/node.d
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ rm '/usr/local/lib/dtrace/node.d'
computer1:DevResources user1$ 
computer1:DevResources user1$ brew uninstall node
Uninstalling /usr/local/Cellar/node/13.1.0... (4,591 files, 54.2MB)
computer1:DevResources user1$ brew cleanup
computer1:DevResources user1$ brew install node
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/node-13.1.0.mojave.bottle.tar.gz
Already downloaded: /Users/user1/Library/Caches/Homebrew/downloads/da904f1fdab6f6b2243a810b685e67b29a642c6e945f086e0022323a37fe85f9--node-13.1.0.mojave.bottle.tar.gz
==> Pouring node-13.1.0.mojave.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
  /usr/local/etc/bash_completion.d
==> Summary
🍺  /usr/local/Cellar/node/13.1.0: 4,591 files, 54.2MB
computer1:DevResources user1$ node -v
v13.1.0

2

Перш за все, вам потрібно відключити вузол: (mac) після встановлення нової версії вузла.

nvm deactivate

Це видалено /Users/user_name/.nvm/*/bin з $ PATH

А після цього вузол було оновлено

node --version
v10.9.0

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 та global npm, які можна використовувати. Для цього додайте до свого рядка такий рядок ~/.bash_profile:

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

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


4
Відповіді, що містять лише посилання, не дозволяють переповнювати стек.
Ендрю Грімм

@AndrewGrimm має сенс, я скопіював відповідну частину.
pcatre

1
Після введення наступної команди я отримую таку помилку: curl -L npmjs.com/install.sh | ш .... npm ERR! Повний журнал цього запуску можна знайти у: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_34_337Z-debug.log npm ERR! код E404 npm ERR! 404 Не знайдено: 1.535s@latest npm ERR! Повний журнал цього запуску можна знайти у: npm ERR! /Users/bddev/.npm/_logs/2018-10-18T20_02_36_399Z-debug.log Не вдалося
Шойб Ахмед

1

У моєму випадку жодна з інших відповідей не працювала, тому що я раніше перейшов на node8. Отже, замість того, щоб робити вище, наступне працювало для мене:

which node

який повернувся /usr/local/bin/node@8замість/usr/local/bin/node

тому я виконав цю команду:

brew uninstall node@8

який працював, а потім завантажував останні офіційні файли з офіційного сайту та встановлював. Після цього мені довелося закрити свій термінал і знову почати доступ до нової версії


1

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

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


0

@ lfender6445 відповідь спрацювала мені чудово, щоб видалити її

Тепер для перевстановлення у мене виникли проблеми з встановленням останньої версії замість самої стабільної, тому для встановлення конкретної версії вузла ви повинні зробити:

brew install node@10 // 10 is the version I want
brew link node@10

0

Докер - альтернативний підхід

Docker - це якась надшвидка віртуальна машина, яку можна використовувати для запуску таких інструментів, як вузол (замість цього встановлюйте їх безпосередньо на mac-os). Переваги зробити це наступні

  • всі речі (файли вузлів "мільйони") встановлюються всередині зображення / контейнера докера (вони інкапсульовані кількома файлами внутрішнього докера)

  • ви можете зіставити каталог mac з проектом у свій контейнер докера і мати доступ до вузла, але поза докер-програмою mac-os sytem навіть не знає, що встановлений вузол. Таким чином, ви отримуєте якусь "віртуальну" консоль з доступними командами вузлів, яка може працювати на реальних файлах

  • ви можете легко вбити вузол, знайшовши його docker psта вбившиdocker rm -f name_or_num

  • Ви можете легко видалити зображення / контейнери докера за допомогою однієї команди docker rmi ...та отримати вільний простір - та встановити його знову за допомогою запуску сценарію (нижче)

  • ваш вузол інкапсульований всередині докера і не має доступу до всієї системи - лише до папок, які ви наносите на нього

  • ви можете запускати сервісні вузли та легко відображати їх до порту mac та мати доступ до нього через веб-браузер

  • ви можете запустити багато версій вузлів одночасно

  • аналогічним чином ви можете встановити інші інструменти на кшталт (у багатьох версіях за один і той же час): php, бази даних, redis тощо - всередині докера без будь-якої взаємодії з mac-os (які такого програмного забезпечення взагалі не помічають). Наприклад, ви можете запустити одночасно 3 mysql db з різними версіями та 3 php-програми з різною версією php ... - тож у вас може бути багато інструментів, але чиста система

  • РОБОТА КОМАНДИ: таке оточення можна легко клонувати до інших машин (і навіть до систем Windows / linux - з деякими модифікаціями) та забезпечувати однакове середовище на рівні докера - так що ви можете легко налаштувати та повторно використовувати сценарії / докер-файли та налаштування середовища для новий член команди дуже швидко (йому просто потрібно встановити докер і створити подібну структуру папок і отримати копію скриптів - ось і все). Я працюю таким чином 2 роки та зі своєю командою - і ми дуже раді

Інструкція

  • Встановіть докер, використовуючи, наприклад, цю інструкцію

  • Підготуйте "спеціальний" каталог для роботи, наприклад, мій каталог /Users/kamil/work(я буду використовувати цей каталог далі - але це може бути довільно) - цей каталог буде "інтерфейсом" між докерними контейнерами та вашим mac-файлом ststem. Всередині цього dir створіть таку структуру dir:

    /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-cmdcreate file dockerfilewith next content

  • innside dir ../node-cmdcreate file run-containerз наступним вмістом (цей файл повинен бути виконаним, наприклад, за допомогою chmod +x run-container) - (зауважте, як ми відображаємо порти та каталоги формують зовнішній 'world' у внутрішню докерську файлову систему)

  • Ок, зараз ви можете додати якийсь проект, наприклад, work/code/myProjectі додати до нього наступний файл 'run-cmd' (повинен бути виконаним)

  • тоді, якщо ви запустите над скриптом (подвійним клацанням миші), ви побачите консоль із доступними командами вузлів у каталозі проекту, наприклад npm install

  • для запуску проекту у фоновому режимі (наприклад, деякі сервіси), наприклад, запустіть програму angular-cli для веб-сервера, ви можете використовувати наступний скрипт (названий run-front-повинен бути виконаним) - (ви також повинні відредагувати /etc/hostsфайл, щоб додати належний домен)


-7

(сервер: ubuntu 14)

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

2.) nvm встановити вузол

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

4.) вузол -v (запит версії вузла => v6.0.0)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.