> I'm trying to install buster and get this WARN during installation:
>
>> conte...@0.1.2 install /opt/local/lib/node_modules/buster/node_modules/buster-test/node_modules/jsdom/node_modules/contextify
>> node-gyp rebuild
>
>
>> conte...@0.1.2 install /opt/local/lib/node_modules/buster/node_modules/buster-test-cli/node_modules/buster-syntax/node_modules/jsdom/node_modules/contextify
>> node-gyp rebuild
>
> sh: /opt/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp:
> Permission denied
> sh: /opt/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp:
> Permission denied
Sounds like permission is denied; sounds like you're doing something without "sudo" when use of "sudo" is required.
> Mac OS X 10.7.3
> Installation of node via MacPorts: "port install nodejs", which
> installs node to "/opt/local"
You mean "sudo port install nodejs"
> Change Permissions on "/opt/local" to avoid sudo when Installing npm:
> "sudo chmod -R g+w /opt/local/"
What? Why?
> Install npm via "curl http://npmjs.org/install.sh | sh"
Why not "sudo port install npm"?
> Try to install buster via "npm install -g buster", which causes the
> problem.
Don't use "npm install -g" when node and/or npm have been installed using MacPorts. "npm install -g" would install files into the MacPorts prefix, and that's a no-no; MacPorts wants to be in control of all files installed into its prefix. Instead, for any software available in npm that desires to be installed globally, we should be creating separate MacPorts ports for them. This just came up again a couple days ago on a MacPorts list:
http://lists.macosforge.org/pipermail/macports-users/2012-March/027726.html
I have been meaning to create a busterjs port but haven't gotten around to it yet. Feel free to file a port request ticket in the MacPorts issue tracker so I don't forget about it again.
FWIW I'm just back from two days of buster workshops, and a lot of people had this or similar problems. It happens for many combinations of sudo/no sudo, port/brew and whatnot. I'm gonna check if there's any plans for jsdom to drop the contextify dependency. If not, I'm keen on looking for alternatives. Dependencies that compile is just too much of a pain.
Christian