Mac OSX Homebrew - 'Error: Could not symlink include/node/common.gypi'

Hello all,

I’m very new to using Homebrew and Nodejs in general, and have been having a lot of difficulty installing Nodejs via Homebrew on my Mac.

Whilst installing node via the terminal, the persistent error I’m seeing is the following:

‘Error: Could not symlink include/node/common.gypi’

I’ve tried various fixes specifically the following commands, without success:

brew link node - to which I receive the following output:

’ henrybrenton@Henrys-MacBook-Pro /usr/local/include/node

$ brew link node

Linking /usr/local/Cellar/node/11.14.0_1…

Error: Could not symlink include/node/common.gypi

Target /usr/local/include/node/common.gypi

already exists. You may want to remove it:

rm ‘/usr/local/include/node/common.gypi’

To force the link and overwrite all conflicting files:

brew link --overwrite node’

This returns the previously mentioned error:

‘Error: Could not symlink include/node/common.gypi’

Having researched on google and youtube, combinations of other commands I’ve tried include:

-brew doctor
-brew cleanup
-brew link node
-brew uninstall node
-(then, after then above) brew install node

Please advise - any help in understanding this issue, and resolving it would be greatly appreciated,

Many Thanks


TL;DR this might be a good option:

brew doctor is generally used to check if something is wrong, in this case it might tell you why the node install is failing. If you post the output of the command here I can help you read it.

brew cleanup will remove old versions of software you have installed (and is run automatically on brew upgrade)

To explain you need a little more backstory on the structure of brew. Brew installs everything in a folder Cellar in /urs/local by default. Using the path Cellar/<software-name>/<version>. This means that software is not in the standard *nix locations by default though so homebrew creates links to that directory from the standard nix structure. /usr/local/include/node/common.gypi will link to Cellar/node/11.14.0_1/include/node/common.gypi’

hello ,
i m also getting same error: when i hit brew doctor command showing below error.
Warning: Unbrewed header files were found in /usr/local/include.

If you didn’t put them there on purpose they could cause problems when

building Homebrew formulae, and may need to be deleted.

I’m having the same problem as reported by HenryBrenton in April:
‘Error: Could not symlink include/node/common.gypi’

So I tried to remove it, as suggested by :slight_smile:

rm ‘/usr/local/include/node/common.gypi’

But now I’m getting a “permission denied”:

override rw-r–r-- root/wheel for /usr/local/include/node/common.gypi? y
rm: /usr/local/include/node/common.gypi: Permission denied

So I’m stuck – has anyone figured this out? thanks for any suggestions. I’m trying to build my first Ethereum dApp.

Somehow you installed things in homebrew as root. sudo chown -R $(whoami) /usr/local/* should fix it.

Thanks @SMillerDev! But you raise another question: You mention that somehow, I installed Node as root – but how? I have now re-read all the comments and am beginning to understand a bit more. BTW my workaround was simply to install Node directly from a .DMG, and that has worked so far. But I will experiment with your solution just to understand more.