Search code examples
pythonnpmancs

Fails to build node package due to Python


This seems to be a resolved post just for helping people who is encountering the same issue.

I was trying to install noble(dependency of ancs) and had issue with it

$ npm install -g noble
npm WARN optional dep failed, continuing [email protected]

> [email protected] install /usr/local/lib/node_modules/noble
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: spawn /path/to/executable/python2.7 ENOENT
gyp ERR! stack     at exports._errnoException (util.js:746:11)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1053:32)
gyp ERR! stack     at child_process.js:1144:20
gyp ERR! stack     at process._tickCallback (node.js:355:11)
gyp ERR! System Linux 3.19.3-3-ARCH
gyp ERR! command "node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/noble
gyp ERR! node -v v0.12.2
gyp ERR! node-gyp -v v1.0.3
gyp ERR! not ok 
npm ERR! Linux 3.19.3-3-ARCH
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "noble"
npm ERR! node v0.12.2
npm ERR! npm  v2.7.5
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the noble 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 their info via:
npm ERR!     npm owner ls noble
npm ERR! There is likely additional logging output above.

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

Then tried with changing npm config python version to 3.4.3,

$ npm config set python /usr/bin/python

Still failed.

But when changed to python2, then it worked.

$ npm config set python /usr/bin/python2

And current npm configed python version is

$ /usr/bin/python2 -V
Python 2.7.9

Solution

  • As abarnet mentioned, this issue caused by archlinux distro, and my own solution is change the npm config python version to /usr/bin/python2.

    $ npm config set python /usr/bin/python2