Erreur: Le "bistrot lien" étape n'a pas réussi
Je suis en train de l'installer node.js via Homebrew. Malheureusement, j'obtiens cette erreur:
➜ ~ brew install node
==> Downloading http://nodejs.org/dist/v0.8.10/node-v0.8.10.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/node/0.8.10
==> make install
==> Caveats
Homebrew installed npm.
We recommend prepending the following path to your PATH environment
variable to have npm-installed binaries picked up:
/usr/local/share/npm/bin
Warning: Could not link node. Unlinking...
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
You can try again using `brew link node'
==> Summary
/usr/local/Cellar/node/0.8.10: 856 files, 13M, built in 103 seconds
Alors j'ai essayer de nœud de lien manuellement...
➜ ~ brew link node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Could not symlink file: /usr/local/Cellar/node/0.8.10/lib/node_modules/npm/scripts/relocate.sh
Target /usr/local/lib/node_modules/npm/scripts/relocate.sh already exists. You may need to delete it.
To force the link and delete this file, do:
brew link -f formula_name
To list all files that would be deleted:
brew link -n formula_name
Pas de chance, j'ai donc essayer avec force de liaison de nœud...
➜ ~ brew link -f node
Linking /usr/local/Cellar/node/0.8.10... Warning: Could not link node. Unlinking...
Error: Permission denied - /usr/local/lib/dtrace/node.d
Je ne suis pas familier avec dtrace dans tout ce qui concerne et j'ai peur de jouer avec les autorisations, j'ai donc essayé de sudo..
➜ ~ git:(master) sudo brew link -f node
Password:
Error: Cowardly refusing to `sudo brew link'
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
J'ai essayé de désinstaller nœud via brew uninstall node
et de réessayer de l'installer avec pas de chance.
- Je ne peux pas obtenir automake. mongodb et le noeud de lien avec homebrew
Vous devez vous connecter pour publier un commentaire.
Le homebrew paquet pour node.js comprend maintenant mnp nouveau, si ce qui m'est arrivé lorsque j'ai raté le homebrew paquet de message sur le retrait de la version autonome d'abord.
En supposant que, comme moi, vous avez déjà cassé node/mnp par la tentative de la mise à niveau avant de savoir à
npm uninstall npm -g
tout d'abord, vous pouvezrm -rf /usr/local/lib/node_modules/npm
et puisbrew link node
. Cela supprime le autonome auto-hébergé package npm (plutôt que celui de brew à installer) et permet de brasser lien symbolique de son groupés l'un de Cave.brew install node
, seulement pour quelques années ne laisser infuser mnp sortir autant que je sache.Error: Could not symlink include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto is not writable
j'ai essayé, mais n'a pas- Je exécuter Mac OS X Mavericks. J'ai essayé d'installer nœud 0.10.25 et la réponse sommet n'a pas de travail pour moi.
natevw dit
rm -rf /usr/local/lib/node_modules/npm
mais si les autorisations sur/usr/local/lib/node_modules
ressembler à ceci:brasser ne sera pas en mesure de créer son mnp lien symbolique dans le répertoire. Voici ma solution:
Étape 1: Mise À Jour Homebrew
Étape 2: Supprimer le nœud/mnp partout sur votre système
Certaines de ces commandes ne sont pas nécessaire en fonction de la façon dont vous avez installé node/mnp dans le passé.
Remarque: j'ai eu errants nœud fichiers que j'ai trouvé en exécutant
brew -v link node
(ce qui m'a donné la sortie détaillée des erreurs de liaison infusion était à se plaindre). Vous devrez peut-être:Étape 3: Ouvrez un nouveau terminal et installer nœud
sudo chown -R $USER:admin /usr/local/share/systemtap/tapset
whoami
/usr/local Sauceferait l'affaire comme mentionné dans l'infusion site de dépannage
https://github.com/Homebrew/homebrew/wiki/troubleshooting
sudo chmod -R g+w /usr/local
(même si honnêtement, j'ai peur)chgrp
de commande.brew doctor
, mais je préfèresudo su
, exécuter les commandes, puis fermer le terminalchown
ouchgrp
/usr
ou quoi que ce soit sous elle.chown: /usr/local: Operation not permitted
_(ツ)_/Vous avez probablement déjà installé une version plus ancienne de node.js à l'aide d'une méthode différente, de sorte que vous devez supprimer manuellement les fichiers qui sont arriver dans le bistrot du chemin.
Ne
brew link -n node
et supprimer manuellement ces conflits de fichiers et de répertoires, puis essayezbrew link node
de nouveau.aspell
. Comment puis-je trouver les divergences de fichiers et de répertoires?Je suis un peu en retard, ce qui a fonctionné pour moi, était-ce:
Tout est réussi après cette séquence
sudo chmod 777
Ce n'est jamais la bonne solution, si vous rencontrez des problèmes d'autorisations, d'enquêter sur pourquoi ils se produisent et de définir le niveau minimum des autorisations nécessaires pour faire le travail. Cette commande permet aux fichiers d'être modifié par n'importe qui sur le système.brew link node
pour la première fois.De l'essayer. Obtenu à partir d'une autre référence, et a travaillé pour moi.
brew postinstall node
était le billetJ'ai eu le même problème après le transfert de toutes mes applications de mon ancien Mac vers mon nouveau.
J'ai trouvé la solution en cours d'exécution
brew doctor
:Après l'exécution de
brew prune
, Homebrew est enfin de retour sur la bonne voie 🙂Mon problème était légèrement différente de la solution.
Le répertoire dans lequel brew voulu créer les liens symboliques n'étaient pas possédés par l'utilisateur actuel.
ls -la /usr/local/bin/lib/node | grep node
donné:Pour moi, la suivante a fixé:
ps.
$(users)
obtiendrez élargi à votre nom d'utilisateur, est allé un peu hors de mon chemin pour aider paresseux copie dérouleurs 😉thx @suweller.
J'ai résolu le problème:
J'ai eu le même problème que suweller:
j'ai donc résolu ce problème par:
après j'ai résolu ce problème, j'ai obtenu un autre:
J'ai donc enlevé le nœud.d par:
ai une autre erreur d'autorisation:
et résolu:
et, enfin, tout a fonctionné:
Plus brew install problèmes avec le noeud sont causés par des erreurs d'autorisation ou d'avoir nœud déjà installé et ensuite essayer de l'installer via l'infusion. La solution qui a fonctionné pour moi, enfin, a:
AVERTISSEMENT: Ceci désinstaller nodejs (plusieurs versions) à utiliser avec prudence:
Supprimer le nœud via infusion:
brew nœud de désinstaller
également fait par la force:
brew nœud de désinstaller --force
Pour utiliser le script Source: Supprimer le nœud:
curl-O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Alors:
Alors:
Alors assurez-vous de faire la commande suivante:
chown $USER /usr/local
Ensuite, faites une infusion de mise à jour (continuez à faire cela jusqu'à ce que toutes les choses sont mis à jour):
brasser de la mise à jour
Propre préparez et exécutez la mise à jour de nouveau (peut-être redondant) et exécuter médecin pour vous assurer que les choses sont en place:
infusion de nettoyage; infusion de mise à jour; brew doctor
Et enfin installer nœud via brew (verbose):
brew install-v nœud
la réponse ultime: changer le propriétaire de ce répertoire qui tu
qui est également recommandé par brew si vous exécutez brew doctor
J'ai également réussi à gâcher mon MNP et les logiciels installés entre ces Homebrew versions et peu importe combien de temps j'ai déconnecté /lié et désinstallé /installé nœud, il ne fonctionne toujours pas.
Il s'avère que vous devez supprimer MNP de la voie autrement Homebrew ne pas l'installer: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117
Espère que cela va aider quelqu'un avec le même problème et à économiser de l'heure, ou alors j'ai dû passer à la recherche du problème...
J'ai été faire une erreur lors de l'installation que de ne pas pouvoir nœud de lien et /usr/local/include n'est pas accessible en écriture
Ci-dessous la solution a fonctionné pour moi :-
D'abord créer le dossier inclure, à noter que cela nécessite des privilèges sudo
Ne sais pas, si c'est une bonne idée ou pas: Après avoir essayé toutes les autres solutions sans succès, j'ai juste renommé le répertoire /usr/local/lib/dtrace, lié nœud et re-renommé le répertoire de nouveau. Après cela, le nœud a fonctionné comme prévu.
J'ai eu du mal avec ça pendant un moment. (pour moi, "npm désinstaller npm-g" n'a rien fait)
J'ai essayé un tas de choses:
J'étais encore avoir quelques questions et d'avoir des erreurs lorsque j'ai essayé de lier le nœud fichiers
Enfin, j'ai essayé ce
Qui semblait avoir fixé. (il remplace al le conflit des fichiers et des liens nœud et npm)
Espère que cette aide
J'ai complètement désinstallé brew et a commencé à nouveau, seulement pour trouver le même problème à nouveau.
Brew semble fonctionner par créer des liens symboliques vers les fichiers binaires requis dans votre système où les autres méthodes d'installation généralement de copier les fichiers.
J'ai trouvé un ensemble de nœud bibliothèques ici:
/usr/local/include/node
Après quelques casse-tête je me suis souvenu de l'installation de nœud à la date à l'encontre de cette ancienne version et il n'avait pas été par infusion.
J'ai supprimé manuellement l'ensemble de ce dossier et avec succès lié mnp.
Cela pourrait expliquer pourquoi, à l'aide d'infusion désinstaller ou même de les désinstaller brew lui-même n'a eu aucun effet.
Le mieux classé de répondre à la place cette très simplement, mais j'ai pensé que je pourrais ajouter mes observations au sujet de pourquoi il est nécessaire.
J'imagine un tas de questions, avec d'autres brasser les paquets peuvent être causés par l'ancien non-brew cas de colis dans le chemin.
Avait été démolition ma tête sur créer des liens symboliques vers le nœud .. et rien ne semblait fonctionner...mais finalement ce qui a fonctionné, c'est de fixer les bonnes autorisations . Cette "sudo chown -R $(whoami) /usr/local' a fait le travail pour moi.
J'ai corrigé cela dans El Capitan à l'aide de la commande suivante. Honnêtement, aucune idée de ce qu'il fait, mais j'ai pensé partager car il fixe mon problème.
par la recherche, Supprimer ce fichier:
dans le terminal:
alors:
brew link --overwrite --dry-run node
, je vois l'erreurNo such keg: /usr/local/Cellar/node
. Ce qui me manque?Vous devez supprimer le mécanisme national de prévention paquet manuellement.
première délier le nœud:
brew link -n node
supprimer mnp dossier:
rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm
lien:
brew link node
il y aura un doux lien vers le nouvel emplacement de la ngp