Доморощенные проблемы с установкой Node & NPM - PullRequest
1 голос
/ 24 января 2020

ОС - macOS Catalina - Версия 10.15.2

Я использовал оболочку bash в Ma c и на моем Windows 10 компьютере и использовал apt-get для многих установок. Недавно (возможно, после обновления) я заметил, что когда я в bash, я больше не могу запустить apt-get.

[bash-3.2$ apt-get
bash: apt-get: command not found

Это странно, потому что я использовал apt-get through bash много много раз на этой машине. Пытаясь ознакомиться с оболочкой zsh, я успешно установил homebrew.

% brew -v
Homebrew 2.2.4
Homebrew/homebrew-core (git revision 57b7f; last commit 2020-01-24)

Выглядит хорошо. Теперь пришло время загрузить Node (который всегда устанавливался npm рядом)

% brew install node
Warning: node 13.7.0 is already installed, it's just not linked
You can use 'brew link node' to link this version.

% brew link node
Linking /usr/local/Cellar/node/13.7.0... 
Error: Could not symlink include/node/common.gypi

OK ...

% brew link --overwrite node
Linking /usr/local/Cellar/node/13.7.0... 
Error: Could not symlink include/node/common.gypi
/usr/local/include/node is not writable.

Итак, вот что у меня осталось, когда я пытаюсь запустить узел из zsh

% node -v
zsh: command not found: node
% npm -v
env: node: No such file or directory

Если я попытаюсь запустить brew в sudo, он блокирует доступ root, понятно. Если я пытаюсь установить узел с веб-сайта узла, я получаю эту ошибку

«node-v12.14.1.pkg» не может быть открыт, поскольку Apple не может проверить его на наличие вредоносного программного обеспечения.

Кто-нибудь с большим опытом в zsh и с homebrew знает, как получить меня в ноде в zsh?

Я действительно люблю использовать такие пакеты, как: npm create-react-app.

ОБНОВЛЕНИЕ от варочного доктора

от варочного доктора:

Warning: Unbrewed header files were found in /usr/local/include. If you didn't put them there on purpose they could cause problems when building Homebrew formulae, and may need to be deleted. перечисляет около 150 файлов, затем

Warning: You have unlinked kegs in your Cellar. Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. Run 'brew link' on these: node

Warning: Broken symlinks were found. Remove them with 'brew cleanup': Я запустил очистку кофе, но получил ошибку Error: Permission denied @ apply2files - /usr/local/lib/node_modules/npm/node_modules/.bin/JSONStream

Ответы [ 2 ]

3 голосов
/ 29 января 2020

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


brew install node


, и он работает с этими детьми;)

node -v

npm -v

1 голос
/ 24 января 2020

ВНИМАНИЕ: это решение может быть опасным, если у вас есть что-то важное в /usr/local или если у вас есть настройки в homebrew, которые вы не хотите терять. Если вы просто используете ZSH и собираетесь в основном использовать homebrew в качестве менеджера пакетов, это, вероятно, безопасная ставка.

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

  • удалить homebrew uninstall homebrew
  • удалить все содержимое / usr / local
  • установить homebrew, используя ruby

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  • установить wget brew install wget
  • установить узел brew install node
  • проверить установку brew brew doctor

Your system is ready to brew.

  • контрольный узел node -v

v13.7.0

  • контрольный npm npm -v

6.13.6

  • введите узел node
  • живите долго и счастливо
...