web-dev-qa-db-fra.com

Problème lors de l'installation de node.js avec homebrew

J'essaie d'installer Node.js avec Homebrew (je l'avais déjà installé sans utiliser d'infusion et j'ai essayé de supprimer tous ces fichiers). J'ai examiné des questions précédentes demandant des choses similaires, mais je n'ai pas réussi à les faire fonctionner. J'ai d'abord essayé brew link node qui m'a donné:

myusername@c126h060:~$ 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

Et puis quand je cours brew link --overwrite node Je reçois ce qui suit:

myusername@c126h060:~$ 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.

De plus, quand j'ai essayé d'utiliser brew link -n node pour trouver des fichiers à supprimer manuellement, j'ai réussi à en supprimer certains, mais il me reste toujours les fichiers suivants que je ne peux pas supprimer:

myusername@c126h060:~$ 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

Lorsque j'essaie de supprimer, j'obtiens ce qui suit (même chose pour tous ces fichiers):

myusername@c126h060:~$ rm /usr/local/etc/bash_completion.d/npm
rm: /usr/local/etc/bash_completion.d/npm: No such file or directory

Que devrais-je faire?

59
mlinegar

Il se peut que vous ne possédiez pas réellement votre répertoire systemtap. Aller vers /usr/local/share et exécutez cette commande pour en faire le propriétaire:

chown -R <yourusername>:<yourgroupname> systemtap

Quand je réglais le même problème plus tôt dans la journée, je devais aussi entrer dans /usr/local et faites la même chose pour le répertoire lib.

118
verbranden

Ou, alternativement, vérifiez la propriété et les autorisations sur 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

puis ajoutez-vous au groupe de propriétaires (dans ce cas, la roue)

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

puis modifiez les autorisations sur tapset pour autoriser les modifications de groupe

Sudo chmod -R 775 /usr/local/share/systemtap/tapset/
17
cluther

Ce qui a fonctionné pour moi:

  1. cd /usr/local/share
  2. Sudo chown -R <user>:<group> systemtap (Fait 1 & 2 pour /usr/local aussi)

Les étapes ci-dessus ont échoué. Je suis allé à la prochaine réponse. A tenté;

ls -al /usr/local/share/systemtap/ qui a renvoyé une "erreur non trouvée".

Ensuite: brew link node jetait une erreur. Alors j'ai fait:

  1. Sudo rm -rf /usr/local/lib/node_modules
  2. brew postinstall node -v
  3. Et enfin brew link node
  4. node -v :)

Donc en gros, j'ai enlevé tous les node_modules/ dossiers et tout refait.

11
Asim K T
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'

Exécuter en dessous des commandes

brew postinstall node -v
brew link node 
7
arunkumar sambu

obtenir votre identifiant,

et obtenez vos groupes: (peut-être plus d'un, généralement 'admin')

whoami
groups

alors, par exemple:

Sudo chown -R chrislee:admin /usr/local/share/systemtap/
3
coderChrisLee