Erreur: l’étape “lien d’infusion” n’a pas abouti

J’essaie d’installer node.js via Homebrew. Malheureusement, je reçois 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’essaye de lier le noeud 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, alors j’essaie de relier avec force noeud …

 ➜ ~ 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 à tous les égards et j’ai peur de jouer avec les permissions, alors j’ai 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 le nœud via le nœud de brew uninstall node et de réessayer l’installation sans succès.

Le paquet homebrew pour node.js inclut maintenant npm, alors cela m’est arrivé lorsque j’ai raté le message du paquet homebrew concernant la suppression de la version autonome en premier.

En supposant, comme moi, que vous avez déjà rompu le nœud / npm en essayant la mise à niveau avant de savoir npm uninstall npm -g premier, vous pouvez rm -rf /usr/local/lib/node_modules/npm et ensuite rm -rf /usr/local/lib/node_modules/npm brew link node . Cela supprime le paquet npm autonome auto-hébergé (plutôt que celui que le armseur aimerait installer) et permet de créer un lien symbolique intégré à Cellar.

Je lance Mac OS X Mavericks. J’ai essayé d’installer le noeud 0.10.25 et la meilleure réponse n’a pas fonctionné pour moi.

natevw dit à rm -rf /usr/local/lib/node_modules/npm mais si les permissions sur /usr/local/lib/node_modules ressemblent à ceci:

 drwxr-xr-x 3 root admin 102 Feb 2 20:45 node_modules 

Ensuite, brew ne pourra pas créer son lien symbolique npm dans ce répertoire. Voici ma solution:

Étape 1: mise à jour de Homebrew

 $ brew update 

Étape 2: Retirez node / npm partout sur votre système

Certaines de ces commandes ne sont pas nécessaires en fonction de la manière dont vous avez installé node / npm dans le passé.

 $ brew uninstall npm $ brew uninstall node $ npm uninstall npm -g $ sudo rm -rf /usr/local/lib/node_modules 

Remarque: J’ai trouvé des fichiers de nœuds parasites en utilisant brew -v link node (ce qui m’a donné le résultat détaillé des erreurs de liaison dont brew se plaignait). Vous devrez peut-être:

 $ sudo rm -rf /usr/local/include/node $ sudo rm -rf /usr/local/lib/node 

Étape 3: Ouvrez un nouveau terminal et installez le noeud

 $ brew install node 
 sudo chown -R $(whoami) /usr/local 

ferait bien comme mentionné dans le dépannage du site de armsage

https://github.com/Homebrew/homebrew/wiki/troubleshooting

Vous avez probablement déjà installé une ancienne version de node.js en utilisant une méthode différente, vous devez donc supprimer manuellement les fichiers qui sont en cours d’infusion.

Ne brew link -n node et supprimer manuellement ces fichiers et répertoires en conflit, puis réessayer.

Je suis un peu en retard, ce qui a fonctionné pour moi était ceci:

 * npm uninstall npm -g * brew uninstall node * brew install node * sudo rm -rf /usr/local/lib/dtrace/node.d * brew link node (caused error with permissions) * sudo chmod 777 /usr/local/lib/dtrace/node.d * brew link node 

Tout a réussi après cette séquence

Essaye ça. Je viens d’une autre référence et j’ai travaillé pour moi.

 sudo brew uninstall node brew update brew upgrade brew cleanup brew install node sudo chown -R $(whoami) /usr/local brew link --overwrite node sudo brew postinstall node 

J’ai eu le même problème après avoir transféré toutes mes applications de mon ancien Mac vers mon nouveau.

J’ai trouvé la solution en lançant un brew doctor :

Avertissement: Des liens symboliques rompus ont été trouvés. Retirez-les avec du brew prune

Après avoir lancé du brew prune , Homebrew est enfin de retour 🙂

Mon problème avait une solution légèrement différente. Le répertoire dans lequel brew voulait créer les liens symboliques n’appartenait pas à l’utilisateur actuel.

ls -la /usr/local/bin/lib/node | grep node ls -la /usr/local/bin/lib/node | grep node cédé:

 drwxr-xr-x 3 24561 wheel 102 May 4 2012 node drwxr-xr-x 7 24561 wheel 238 Sep 18 16:37 node_modules 

Pour moi, les points suivants ont été corrigés:

 sudo chown $(users) /usr/local/bin/lib/node_modules sudo chown $(users) /usr/local/bin/lib/node 

ps. $(users) sera étendu à votre nom d’utilisateur, s’est un peu excédé pour aider les copieurs paresseux;)

Merci @suweller.

J’ai corrigé le problème:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Permission denied - /usr/local/lib/node_modules/npm 

J’ai eu le même problème que Suweller:

 ➜ bin git:(master) ✗ ls -la /usr/local/lib/ | grep node drwxr-xr-x 3 24561 wheel 102 11 Okt 2012 node drwxr-xr-x 3 24561 wheel 102 27 Jan 11:32 node_modules 

J’ai donc résolu ce problème en:

 ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node_modules ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/lib/node 

Après avoir corrigé ce problème, j’en ai un autre:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d Target /usr/local/lib/dtrace/node.d already exists. You may need to delete it. To force the link and overwrite all other conflicting files, do: brew link --overwrite formula_name To list all files that would be deleted: brew link --overwrite --dry-run formula_name 

J’ai donc supprimé node.d par:

 ➜ bin git:(master) ✗ sudo rm /usr/local/lib/dtrace/node.d 

eu une autre erreur de permission:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... Warning: Could not link node. Unlinking... Error: Could not symlink file: /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d /usr/local/lib/dtrace is not writable. You should change its permissions. 

et réparé:

 ➜ bin git:(master) ✗ sudo chown $(users) /usr/local/Cellar/node/0.10.25/lib/dtrace/node.d 

et finalement tout a fonctionné:

 ➜ bin git:(master) ✗ brew link node Linking /usr/local/Cellar/node/0.10.25... 1225 symlinks created 

La plupart des problèmes d’installation d’infusion avec le noeud sont dus à des erreurs d’autorisation ou à l’installation préalable du noeud, puis à son installation via brew. La solution qui a fonctionné pour moi était finalement:

ATTENTION: Ceci désinstallera les nodejs (plusieurs versions) à utiliser avec précaution:

  1. Supprimer le nœud via l’infusion:

    noeud de désinstallation de armsage

  2. également fait par la force:

    twigr le noeud de désinstallation –force

  3. Pour utiliser le script Source: Supprimer le noeud :

    curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh

Alors:

 chmod +x /path/to/terminatenode.sh 

Alors:

 ./terminatenode.sh . 
  1. Assurez-vous ensuite de faire la commande suivante:

    chown $ USER / usr / local

  2. Faites ensuite une mise à jour de l’infusion (continuez jusqu’à ce que tout soit mis à jour):

    mise à jour de l’infusion

  3. Nettoyez et lancez la mise à jour (peut être redondant) et dirigez le médecin pour vous assurer que tout est en place:

    nettoyage de la bière; mise à jour de l’infusion; docteur de armsage

  4. Et enfin installer le noeud via Brew (verbose):

    brew install -v node

la réponse ultime: changez le propriétaire de ce répertoire à qui vous êtes

 sudo chown -R `whoami` /usr/local/include 

ce qui est également recommandé par l’infusion si vous exécutez le breuvage docteur

J’ai également réussi à gâcher mon NPM et les paquets installés entre ces versions Homebrew et peu importe le temps que j’ai passé à dissocier / lié et désinstallé / installé le nœud, cela ne fonctionnait toujours pas.

Comme il s’avère que vous devez supprimer NPM du chemin, sinon Homebrew ne l’installe pas: https://github.com/mxcl/homebrew/blob/master/Library/Formula/node.rb#L117

J’espère que cela aidera quelqu’un avec le même problème et économiser cette heure ou deux, je devais passer à chercher le problème …

Je recevais une erreur pendant que l’installation qui ne pouvait pas relier le noeud et / usr / local / include n’était pas accessible en écriture

La solution ci-dessous a fonctionné pour moi: – Créez d’abord le dossier include, notez que cela nécessite des privilèges sudo

 cd /usr/local sudo mkdir include sudo chown -R $(whoami) $(brew --prefix)/* brew link node 

Je ne sais pas, si c’est une bonne idée ou non: Après avoir essayé toutes les autres solutions sans succès, j’ai simplement renommé / usr / local / lib / dtrace, noeud lié et renommé à nouveau le répertoire. Après cela, le nœud a fonctionné comme prévu.

Je me débattais avec ça pendant un moment. (pour moi “npm uninstall npm -g” n’a rien fait)

J’ai essayé un tas de choses:

 npm uninstall npm -g brew uninstall node brew install node 

J’avais encore quelques problèmes et je commençais à avoir des erreurs quand j’ai essayé de lier les fichiers de nœud

Finalement j’ai essayé ceci

 brew link --overwrite node 

Cela semblait avoir réglé le problème. (il écrase tous les fichiers en conflit et lie également le nœud et npm)

J’espère que cela t’aides

J’ai complètement désinstallé l’infusion et recommencé, pour retrouver le même problème.

Brew semble fonctionner en symésortingsant les fichiers binarys requirejs sur votre système, où d’autres méthodes d’installation copient généralement les fichiers.

J’ai trouvé un ensemble existant de bibliothèques de noeuds ici:

/usr/local/include/node

Après quelques coups de tête, je me suis souvenu d’avoir installé node à la date contre cette ancienne version et ça n’avait pas été par infusion.

J’ai supprimé manuellement tout ce dossier et lié avec succès npm.

Cela expliquerait pourquoi l’utilisation de la désinstallation ou même la désinstallation de l’infusion elle-même n’a eu aucun effet.

La réponse la mieux classée met cela très simplement, mais je pensais append mes observations sur la nécessité de cela.

Je suppose qu’un tas de problèmes avec d’autres paquets d’infusion peuvent être causés par d’anciennes instances de paquets qui ne sont pas des armseurs.

Je me suis cassé la tête sur le noeud symlinking .. et rien ne semblait fonctionner … mais finalement ce qui a fonctionné est la définition des permissions appropriées. Ce “sudo chown -R $ (whoami) / usr / local” a fait le travail pour moi.

J’ai corrigé cela dans El Capitan en utilisant la commande suivante. Honnêtement, aucune idée de ce que cela fait, mais pensais que je partagerais car cela a résolu mon problème.

 brew link --overwrite node 

par le Finder, Supprimer ce fichier:

/usr/local/lib/dtrace/node.d

en terminal:

 $ brew link --overwrite --dry-run node 

puis:

 $ brew link node 

Vous devez supprimer le paquet npm manuellement.

premier nœud de brew link -n node : brew link -n node

supprimer le dossier npm: rm -R /usr/local/Cellar/node/0.8.10/lib/node_modules/npm

lien à nouveau: brew link node

il y aura un lien vers le nouvel emplacement de npm