I'm trying to install node.js via Homebrew. Unfortunately, I get this error:
➜ ~ 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
So then I try to link node manually...
➜ ~ 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
No luck, so I try forcefully linking node...
➜ ~ 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
I'm not familiar with dtrace in any regard and I'm afraid to mess with permissions, so I tried to 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.
I've tried uninstalling node via brew uninstall node
and retrying the install with no luck.
My problem had a slightly different solution. The directory in which brew wanted to create the symlinks were not owned by the current user.
ls -la /usr/local/bin/lib/node | grep node
yielded:For me, the following fixed it:
ps.
$(users)
will get expanded to your username, went a little out of my way to help out lazy copy pasters ;)thx @suweller.
I fixed the problem:
I had the same problem as suweller:
so i fixed this problem by:
after i fixed this problem I got another one:
So I removed node.d by:
got another permission error:
and fixed it:
and finally everything worked:
Try this. Got from another reference and worked for me.
the ultimate answer: change the owner of that directory to whoever you are
which is also recommended by brew if you run brew doctor
I'm a bit late, what worked for me was this:
Everything was successful after this sequence
Had been wrecking my head on symlinking node .. and nothing seemed to work...but finally what worked is setting the right permissions . This 'sudo chown -R $(whoami) /usr/local' did the work for me.