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?
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.
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/
Ce qui a fonctionné pour moi:
cd /usr/local/share
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:
Sudo rm -rf /usr/local/lib/node_modules
brew postinstall node -v
brew link node
node -v
:)Donc en gros, j'ai enlevé tous les node_modules/
dossiers et tout refait.
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
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/