J'essaye d'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'essaye de lier le nœud 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'essaye de lier de force le 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 à aucun égard et j'ai peur de jouer avec les autorisations, 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 brew uninstall node
et de réessayer l'installation sans succès.
Réponses:
Le package homebrew pour node.js inclut à nouveau npm, donc cela m'est arrivé lorsque j'ai manqué le message du package homebrew sur la suppression de la version autonome en premier.
En supposant, comme moi, que vous avez déjà cassé le nœud / npm en essayant la mise à niveau avant de savoir d'
npm uninstall npm -g
abord, vous pouvezrm -rf /usr/local/lib/node_modules/npm
et ensuitebrew link node
. Cela supprime le package npm auto-hébergé autonome (plutôt que celui que Brew voudrait installer) et permet à Brew de créer un lien symbolique avec le package fourni depuis Cellar.la source
Je lance Mac OS X Mavericks. J'ai essayé d'installer le nœud 0.10.25 et la réponse du haut n'a pas fonctionné pour moi.
natevw dit à
rm -rf /usr/local/lib/node_modules/npm
mais si les autorisations sur/usr/local/lib/node_modules
ressemblent à ceci:alors brew ne pourra pas créer son lien symbolique npm dans ce répertoire. Voici ma solution:
Étape 1: Mettez à jour Homebrew
Étape 2: Supprimez le nœud / npm partout sur votre système
Certaines de ces commandes ne sont pas nécessaires selon la façon dont vous avez installé node / npm dans le passé.
Remarque: j'avais des fichiers de nœuds errants que j'ai trouvés en exécutant
brew -v link node
(ce qui m'a donné le résultat détaillé des erreurs de liaison dont se plaignait brew). Vous devrez peut-être:Étape 3: Ouvrez un nouveau terminal et installez le nœud
la source
whoami
/ usr / local Sauceferait très bien comme mentionné dans le dépannage du site de brassage
https://github.com/Homebrew/homebrew/wiki/troubleshooting
la source
sudo chmod -R g+w /usr/local
(bien qu'honnêtement, les deux me font peur)chgrp
commande.brew doctor
, mais je préfèresudo su
, exécuter les commandes puis fermer le terminalVous 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 gênent brew.
Ne
brew link -n node
et supprimer manuellement les fichiers et les répertoires contradictoires, essayez àbrew link node
nouveau.la source
aspell
. Comment trouver les fichiers et répertoires en conflit?Je suis un peu en retard, ce qui a fonctionné pour moi était ceci:
Tout a réussi après cette séquence
la source
sudo chmod 777
Ce n'est jamais la bonne solution, si vous rencontrez des problèmes d'autorisations, recherchez pourquoi ils se produisent et définissez le niveau minimum d'autorisations requis pour effectuer le travail. Cette commande permettra au fichier d'être modifié par n'importe qui sur le système.brew link node
d' exécution pour la première fois.Essaye ça. Obtenu d'une autre référence et a travaillé pour moi.
la source
brew postinstall node
était le billetbrew link --overwrite node
et la commande finale, tout semble fonctionner. La dernière commande que vous avez suggérée ne fonctionne pas à cause de 'sudo. À la place, utilisezbrew 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 exécutant
brew doctor
:Après avoir couru
brew prune
, Homebrew est enfin de retour sur les rails :)la source
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
a abouti:Pour moi, ce qui suit l'a corrigé:
ps.
$(users)
sera étendu à votre nom d'utilisateur, a fait un peu de mal pour aider les copieurs paresseux;)la source
merci @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 en:
après avoir résolu ce problème, j'en ai un autre:
J'ai donc supprimé node.d par:
obtenu une autre erreur d'autorisation:
et corrigé:
et enfin tout a fonctionné:
la source
La plupart des problèmes d'installation de brew avec le nœud sont causés par des erreurs d'autorisation ou par le fait que le nœud est déjà installé et que vous essayez de l'installer via brew. La solution qui a finalement fonctionné pour moi était:
AVERTISSEMENT: Cela désinstallera nodejs (plusieurs versions) à utiliser avec prudence:
Supprimer le nœud via infusion:
nœud de désinstallation de brassage
aussi fait par la force:
noeud de désinstallation de brassage --force
Pour utiliser la source du script: Supprimer le nœud :
curl -O https://raw.githubusercontent.com/DomT4/scripts/master/OSX_Node_Removal/terminatenode.sh
Ensuite:
Ensuite:
Assurez-vous ensuite de faire la commande suivante:
chown $ USER / usr / local
Ensuite, faites une mise à jour (continuez à faire cela jusqu'à ce que tout soit mis à jour):
mise à jour de la bière
Nettoyez l'infusion et exécutez à nouveau la mise à jour (peut être redondante) et exécutez le médecin pour vous assurer que les choses sont en place:
nettoyage de l'infusion; mise à jour de la bière; docteur en brasserie
Et enfin, installez node via brew (verbose):
brew install -v nœud
la source
la réponse ultime: changez le propriétaire de ce répertoire en celui que vous êtes
qui est également recommandé par brew si vous exécutez brew doctor
la source
J'obtenais une erreur lors de l'installation qui ne pouvait pas lier le nœud et / usr / local / include n'est pas inscriptible
La solution ci-dessous a fonctionné pour moi: - Créez d'abord le dossier d'inclusion, notez que cela nécessite des privilèges sudo
la source
J'ai également réussi à gâcher mon NPM et les packages installés entre ces versions Homebrew et peu importe combien de fois j'ai dissocié / lié et désinstallé / installé le nœud, cela ne fonctionnait toujours pas.
Il s'avère que vous devez supprimer NPM du chemin, sinon Homebrew ne l'installera 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 sauvera cette heure environ que j'ai dû passer à la recherche du problème ...
la source
par le Finder, supprimez ce fichier:
dans le terminal:
puis:
la source
brew link --overwrite --dry-run node
, je vois l'erreurNo such keg: /usr/local/Cellar/node
. Qu'est-ce que je rate?J'ai essayé toutes les méthodes et aucune d'elles ne fonctionne. Le moyen le plus simple est de réinstaller le nœud à partir de https://nodejs.org/en/download/
Téléchargez simplement
pkg
et installez-le. Maintenant, j'ai un travailnpm
etnode
encore.la source
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, lié le nœud et renommé à nouveau le répertoire. Après cela, le nœud a fonctionné comme prévu.
la source
J'avais du mal avec ça pendant un moment. (pour moi, "npm uninstall npm -g" n'a rien fait)
J'ai essayé un tas de choses:
J'avais encore des problèmes et recevais des erreurs lorsque j'ai essayé de lier les fichiers de nœud
Enfin j'ai essayé ceci
Cela semblait l'avoir réglé. (il écrase tous les fichiers en conflit et lie également node et npm)
J'espère que cela t'aides
la source
J'ai complètement désinstallé Brew et j'ai recommencé, pour retrouver le même problème.
Brew semble fonctionner en liant symboliquement les binaires requis dans votre système où d'autres méthodes d'installation copieraient généralement les fichiers.
J'ai trouvé un ensemble existant de bibliothèques de nœuds ici:
/usr/local/include/node
Après quelques égratignures, je me suis souvenu d'avoir installé node à la date contre cette ancienne version et cela ne s'était pas fait via brew.
J'ai supprimé manuellement ce dossier entier et lié avec succès npm.
Cela expliquerait pourquoi l'utilisation de la désinstallation d'infusion ou même de la désinstallation de l'infusion elle-même n'avait aucun effet.
La réponse la mieux classée le met très simplement, mais j'ai pensé ajouter mes observations sur la raison pour laquelle c'est nécessaire.
Je suppose que de nombreux problèmes avec d'autres packages de brassage pourraient être causés par d'anciennes instances de packages non-brassées.
la source
J'avais détruit ma tête sur le nœud symlinking .. et rien ne semblait fonctionner ... mais finalement ce qui a fonctionné est de définir les bonnes autorisations. Ce 'sudo chown -R $ (whoami) / usr / local' a fait le travail pour moi.
la source
J'ai corrigé cela dans El Capitan en utilisant la commande suivante. Honnêtement, aucune idée de ce qu'il fait, mais je pensais que je partagerais car cela a résolu mon problème.
la source
Vous devez supprimer le package npm manuellement.
premier nœud de dissociation:
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 logiciel vers le nouvel emplacement de npm
la source