Reputation: 1083
So I made the mistake of trying to get rid of all sudo dependencies. I downloaded npm as a package from the site and did a manual/global install. But it seemed as if i was always having to run with sudo...so I tried to uninstall and run with homebrew.
Now I can't get node or npm to even run...I guess I have to link with brew link them but i'm getting this error:
Could not symlink share/doc/node/gdbinit
Target /usr/local/share/doc/node/gdbinit
already exists. You may want to remove it:
rm '/usr/local/share/doc/node/gdbinit'
I've tried removing that: And i've gotten permission denied.
I have tried running brew prune. I have tried to uninstall then reinstall using these steps:
$ brew uninstall npm
$ brew uninstall node
$ npm uninstall npm -g
$ sudo rm -rf /usr/local/lib/node_module
Error: The 'brew link' step did not complete successfully
I am running Yosemite 10.10.5. I have git version 2.6.0 installed. My homebrew is updated. A brew doctor gives me this warning:
Warning: You have unlinked kegs in your Cellar
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
node
Not sure where to go from here. I'm trying to lose my reliance on CodeKit and get gulp up and running.
Upvotes: 93
Views: 75240
Reputation: 459
Had something similar happen with node listed as an unlinked keg. This is what worked for me on MacOS Big Sur:
sudo mkdir -p /usr/local/sbin
// had issues with sbin, ignore if you don't.sudo chown -R $(whoami) /usr/local/sbin
// ignore if sbin isn't an issue.brew link --overwrite node
brew cleanup
// wanted to be sure this alone ran fine :)brew doctor
// found un brewed header files, but not concerned about those.node -v
// checking node versionnpm -v
// checking npm versionIf the above doesn't work, try starting from scratch and seeing if these steps help:
brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node
You can definitely chain these commands and make the input way shorter, but small victories help ease some of the frustration, while also making it easier to ID exactly what step failed, rather than displaying a chained-command error and having the person rage (╯°□°)╯︵ ┻━┻ because they are now even more lost lol.
Upvotes: 11
Reputation: 54477
It looks like several files and directories in /usr/local
are now owned by root
, since you ran a couple of steps using sudo
. To get rid of these, take back ownership of all of the files and directories under /usr/local
:
sudo chown -R $(whoami) $(brew --prefix)/*
Once that is done, run brew doctor
again.
Similar questions can be found here:
Upvotes: 261
Reputation: 10462
In my case, I was continue to execute command brew link node
and upon every execution, it is keep on saying to remove some files. I just followed the instructions and keep on removing them with sudo
. At last, after 5 such removals, I have the linking done.
Upvotes: 25