Search code examples
node.jsnpmnode-gyp

How to resolve an NPM install error?


I'm having issues moving my site from Cloud9 to DigitalOcean.

Most components seem to have installed (though ase-tools and node-gd can't be found), but a few things aren't working, and I get these errors when installing.

root@lospec:~/lospec# npm install
npm WARN deprecated minimatch@1.0.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN prefer global node-gyp@3.3.1 should be installed with -g

> node-gd@1.4.0 install /root/lospec/node_modules/node-gd
> node-gyp rebuild

./util.sh: 1: ./util.sh: pkg-config: not found
gyp: Call to './util.sh png16' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 4.4.0-63-generic
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /root/lospec/node_modules/node-gd
gyp ERR! node -v v6.10.0
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm ERR! Linux 4.4.0-63-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v6.10.0
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE

npm ERR! node-gd@1.4.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-gd@1.4.0 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-gd package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-gd
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-gd
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /root/lospec/npm-debug.log

I can't tell what's really causing the error. I think node-gd, node-gyp, pkg-config?

Here's my package.json: http://pastebin.com/raw/saykdjT2


Solution

  • These types of errors are pretty common when using npm packages which require native building (c++) on your machine. The package node-gyp is what builds native dependencies for your environment. I would guess you probably need gcc, python 2.7, and make on that machine.

    See node-gyp dependencies for more information.

    UPDATE Per https://www.digitalocean.com/community/questions/node-gyp-rebuild-fails-on-install could you attempt the following:

    sudo npm install -g node-gyp@latest sudo npm explore -g npm -- npm i node-gyp@latest

    If those don't work, it states that possibly deleting the app and pushing it again fresh may fix it.