Подтвердить что ты не робот

Устранение неполадок node.js с homebrew

Я пытаюсь установить Node.js с помощью Homebrew (я установил его ранее, не используя brew, и я попытался удалить все эти файлы). Я просмотрел предыдущие вопросы, задавая похожие вещи, но я не смог заставить их работать. Сначала я попробовал brew link node, который дал мне:

[email protected]:~$ brew link node
Linking /usr/local/Cellar/node/0.12.6... 
Error: 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

И затем, когда я запустил brew link --overwrite node, я получаю следующее:

[email protected]:~$ brew link --overwrite node
Linking /usr/local/Cellar/node/0.12.6... 
Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.

Кроме того, когда я попытался использовать brew link -n node для поиска файлов для ручного удаления, мне удалось удалить некоторые из них, но у меня все еще остались следующие файлы, которые я не могу удалить:

[email protected]:~$ brew link -n node
Would link:
/usr/local/etc/bash_completion.d/npm
/usr/local/bin/node
/usr/local/include/node
/usr/local/share/man/man1/node.1
/usr/local/share/systemtap/tapset/node.stp
/usr/local/lib/dtrace/node.d

Когда я пытаюсь удалить, я получаю следующее (то же самое для всех этих файлов):

[email protected]:~$ rm /usr/local/etc/bash_completion.d/npm
rm: /usr/local/etc/bash_completion.d/npm: No such file or directory

Что мне делать?

4b9b3361

Ответ 1

Возможно, у вас нет собственного каталога systemtap. Перейдите к /usr/local/share и запустите эту команду, чтобы сделать себя владельцем:

chown -R <yourusername>:<yourgroupname> systemtap

Когда я исправлял эту же проблему ранее сегодня, мне также пришлось пойти в /usr/local и сделать то же самое для каталога lib.

Ответ 2

Или, наоборот, проверьте права собственности и разрешения на systemtap

$ ls -al /usr/local/share/systemtap/
drwxr-xr-x   3 root  wheel  102 Oct 23 18:06 .
drwxrwxr-x  15 root  wheel  510 Oct 24 20:24 ..
drwxr-xr-x   2 root  wheel   68 Oct 24 20:17 tapset

затем добавьте себя в группу владельца (в данном случае колесо)

sudo dscl . append /Groups/wheel GroupMembership <username>

затем измените разрешения на тапсет, чтобы разрешить изменения группы

sudo chmod -R 775 /usr/local/share/systemtap/tapset/

Ответ 3

Что сработало для меня:

  • cd /usr/local/share
  • sudo chown -R <user>:<group> systemtap (Делал 1 и 2 для /usr/local тоже)

Выше были неудачные шаги. Пошел к следующему ответу. Пытались;

ls -al /usr/local/share/systemtap/ который выбрал "Не найдена ошибка".

Затем: brew link node выкидывает ошибку. Итак, я сделал:

  1. sudo rm -rf /usr/local/lib/node_modules
  2. brew postinstall node -v
  3. И наконец brew link node
  4. node -v:)

Итак, в основном я удалил все папки node_modules/ и все изменил.

Ответ 4

arun:~$ brew link node
Linking /usr/local/Cellar/node/0.12.6... 
Error: 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'

Выполнить команду

brew postinstall node -v
brew link node 

Ответ 5

получите свое имя пользователя,

и получить ваши группы: (может быть больше, чем один, как правило, "администратор")

whoami
groups

тогда, например:

sudo chown -R chrislee:admin /usr/local/share/systemtap/

Ответ 6

Следующий рецепт работал для меня:

  1. Добавьте свое имя пользователя, чтобы добавить групповое колесо sudo dscl . append /Groups/wheel GroupMembership username
  2. sudo chmod -R 775 /usr/local/share/systemtap/tapset/
  3. sudo rm -rf /usr/local/lib/node_modules
  4. brew cleanup
  5. brew link node
  6. brew uninstall --force node
  7. brew install node

Затем проверьте версию с помощью node -v и npm -v.

Ответ 7

просто добавьте sudo в начале команды npm install expo-cli --global

как sudo npm install expo-cli --global и нажмите ввод.

надеюсь, это тебе поможет.