web-dev-qa-db-fra.com

Node déjà installé, il n'est tout simplement pas lié

J'ai essayé de corriger l'erreur où vous devez utiliser Sudo lors de l'exécution de npm. J'ai suivi aveuglément un lien pour désinstaller le nœud, le code venait de ça Gist

Après avoir exécuté la commande et j'ai essayé de le réinstaller avec brew: brew install node. Ce qui m'a donné l'erreur suivante:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/doc/node/gdbinit
/usr/local/share/doc/node is not writable.

You can try again using:
  brew link node

Essayer d'exécuter brew link node, J'ai eu:

Linking /usr/local/Cellar/node/5.4.0... 
Error: Could not symlink share/systemtap/tapset/node.stp
/usr/local/share/systemtap/tapset is not writable.

Puis quand j'écris brew install npm, Je reçois:

Warning: node-5.4.0 already installed, it's just not linked

Quand j'écris npm -v Je reçois:

env: node: No such file or directory

Des idées sur la façon de résoudre ce problème?

26
Ela

J'ai réussi à résoudre ce problème en exécutant d'abord Sudo chown -R $USER /usr/local et le suivre avec brew link node. Maintenant, j'ai un nœud correctement installé.

45
Ela
  1. Sudo chown -R $ USER/usr/local
  2. lien de brassage - écraser le nœud
9
NGR

Cette solution fonctionne! C'est une combinaison de toutes les combinaisons.

Corrigez-le à l'aide du code suivant.

  1. Sudo chmod 776 /usr/local/lib
  2. brew link --overwrite node

    Les sorties: Linking /usr/local/Cellar/node/9.6.1... 49 symlinks created

  3. Sudo chmod 755 /usr/local/lib
8
desloovere_j

Si vous êtes sur High Sierra, alors Sudo chown -R $USER /usr/local ne fonctionnera pas. Utilisez plutôt:

Sudo chown -R $(whoami) $(brew --prefix)/*

Source: https://github.com/Homebrew/brew/issues/3228#issuecomment-332679274

8
Debiprasad

Modifiez/usr/l'autorisation locale pour votre utilisateur:

Sudo chown -R $USER /usr/local

Ensuite, exécutez la post-installation de l'infusion:

brew postinstall node

Vous avez maintenant terminé. Vérifier:

npm -v

Étape supplémentaire: exécuter le docteur d'infusion à des fins de nettoyage

brew doctor

Vous devrez peut-être tailler des trucs très anciens si le médecin les trouve.

3

pour les utilisateurs d'OSX High Sierra:

Sudo chown -R $(whoami) $(brew --prefix)/*

brew link --overwrite node

puis vérifiez le nœud -v et npm -v

3
Basavaraj Hadimani

J'ai eu le même problème quand j'étais brew link jq mais en se référant à /usr/local/lib is not writable. Dans une de mes machines, je n'ai pas pu appliquer la suggestion d'Ela. J'ai fait Sudo chmod 776 /usr/local/lib alors j'ai fait brew link jq qui a réussi, puis l'a changé en Sudo chmod 755 /usr/local/lib.

2
SylvesterAbreu

Sudo chown -R $ USER/usr/local Évitez cela. Jouer avec la propriété est délicat peut être catastrophique pour les noobs.

Si vous utilisez Home-brew, n'installez pas node et rpm séparément.

Installez d'abord Homebrew puis utilisez brew pour installer tout le paquet.

Solution - Si vous installez le noeud et le npm séparément, puis installez également via home-brew, vous obtiendrez des problèmes d'autorisations - j'installais React CLI native face à ce problème. Supprimez tous les dossiers mentionnés ci-dessous. ./usr/local/bin,/usr/local/etc,/usr/local/include,/usr/local/lib,/usr/local/sbin,/usr/local/share,/usr/local/var,/usr/local/opt,/usr/local/share/zsh,/usr/local/share/zsh/fonctions-site,/usr/local/var/homebrew,/usr/local/var/homebrew/lié,/usr/local/Cave,/usr/local/Caskroom,/usr/local/Homebrew,/usr/local/Frameworks

J'ai supprimé tous les fichiers du dossier/user/local, car je ne savais rien que j'y ai installé.

Il suffit de faire cela et de réinstaller homebrew et de profiter !!

0
Pulkit Kumar Singh

J'ai le même problème, voici la solution sur laquelle j'ai travaillé.

https://stackoverflow.com/a/56962235/563735

0
Rohit Mandiwal