Search code examples
javascriptpythonnode.jsnode-gypatom-editor

atom editor: node-gyp rebuild crashes


I'm trying to install an atom package that uses node-gyp. But it crashes each time.

Here's the apm output:

Installing autocomplete-clang to /home/lars/.atom/packages ✗

> runas@1.0.1 install /tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/clang-flags/node_modules/pathwatcher/node_modules/runas
> node-gyp rebuild


> runas@0.5.4 install /tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/snippets/node_modules/pathwatcher/node_modules/runas
> node-gyp rebuild


npm http GET https://registry.npmjs.org/underscore-plus
npm http GET https://registry.npmjs.org/clang-flags
npm http 304 https://registry.npmjs.org/underscore-plus
npm http 304 https://registry.npmjs.org/clang-flags
npm http GET https://registry.npmjs.org/underscore
npm http GET https://registry.npmjs.org/pathwatcher
npm http GET https://registry.npmjs.org/async
npm http GET https://registry.npmjs.org/emissary
npm http GET https://registry.npmjs.org/loophole
npm http GET https://registry.npmjs.org/fs-plus
npm http GET https://registry.npmjs.org/pathwatcher
npm http GET https://registry.npmjs.org/pegjs
npm http GET https://registry.npmjs.org/season
npm http GET https://registry.npmjs.org/temp
npm http 304 https://registry.npmjs.org/underscore
npm http 304 https://registry.npmjs.org/fs-plus
npm http 304 https://registry.npmjs.org/async
npm http 304 https://registry.npmjs.org/pegjs
npm http 304 https://registry.npmjs.org/season
npm http 304 https://registry.npmjs.org/pathwatcher
npm http 304 https://registry.npmjs.org/pathwatcher
npm http GET https://registry.npmjs.org/emissary
npm http GET https://registry.npmjs.org/event-kit
npm http 304 https://registry.npmjs.org/temp
npm http GET https://registry.npmjs.org/nan/1.2.0
npm http GET https://registry.npmjs.org/grim
npm http GET https://registry.npmjs.org/q
npm http GET https://registry.npmjs.org/runas
npm http 304 https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/emissary
npm http 304 https://registry.npmjs.org/nan/1.2.0
npm http 304 https://registry.npmjs.org/q
npm http 304 https://registry.npmjs.org/runas
npm http 304 https://registry.npmjs.org/grim
npm http 304 https://registry.npmjs.org/event-kit
npm http GET https://registry.npmjs.org/mkdirp
npm http GET https://registry.npmjs.org/rimraf
gyp ERR! configure error 
gyp ERR! stack Error: EACCES, mkdir '/tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/clang-flags/node_modules/pathwatcher/node_modules/runas/build'
gyp ERR! System Linux 3.13.0-36-generic
gyp ERR! command "node" "/usr/local/share/atom/resources/app/apm/node_modules/atom-package-manager/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/clang-flags/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok 
npm http GET https://registry.npmjs.org/mixto
npm http GET https://registry.npmjs.org/property-accessors
npm http 304 https://registry.npmjs.org/rimraf
npm http 304 https://registry.npmjs.org/mkdirp
npm http 304 https://registry.npmjs.org/loophole
npm ERR! runas@1.0.1 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the runas@1.0.1 install script.
npm ERR! This is most likely a problem with the runas 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 runas
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 3.13.0-36-generic
npm ERR! command "/usr/local/share/atom/resources/app/apm/node_modules/atom-package-manager/bin/node" "/usr/local/share/atom/resources/app/apm/node_modules/atom-package-manager/node_modules/npm/bin/npm-cli.js" "--globalconfig" "/usr/local/share/atom/resources/app/apm/node_modules/atom-package-manager/.apmrc" "--userconfig" "/home/lars/.atom/.apmrc" "install" "/home/lars/.atom/.node-gyp/.atom/.apm/autocomplete-clang/0.2.0/package.tgz" "--target=0.11.10" "--arch=x64"
npm ERR! cwd /tmp/apm-install-dir-11499-22706-1lgjxbx
npm ERR! node -v v0.10.26
npm ERR! npm -v 1.4.4
npm ERR! code ELIFECYCLE
npm http 304 https://registry.npmjs.org/property-accessors
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/optimist
npm http GET https://registry.npmjs.org/osenv/0.0.3
npm http GET https://registry.npmjs.org/bindings
npm http GET https://registry.npmjs.org/nan/0.8.0
npm http 304 https://registry.npmjs.org/osenv/0.0.3
npm http GET https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/optimist
npm http 304 https://registry.npmjs.org/bindings
npm http 304 https://registry.npmjs.org/graceful-fs
npm http 304 https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/nan/0.8.0
gyp ERR! configure error 
gyp ERR! stack Error: EACCES, mkdir '/tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/snippets/node_modules/pathwatcher/node_modules/runas/build'
gyp ERR! System Linux 3.13.0-36-generic
gyp ERR! command "node" "/usr/local/share/atom/resources/app/apm/node_modules/atom-package-manager/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /tmp/apm-install-dir-11499-22706-1lgjxbx/node_modules/autocomplete-clang/node_modules/snippets/node_modules/pathwatcher/node_modules/runas
gyp ERR! node -v v0.10.26
gyp ERR! node-gyp -v v0.12.2
gyp ERR! not ok 
npm http 304 https://registry.npmjs.org/wordwrap
npm http 304 https://registry.npmjs.org/mixto
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /tmp/apm-install-dir-11499-22706-1lgjxbx/npm-debug.log
npm ERR! not ok code 0

There are lots of posts online that describe this problem, or a similar behaviour. Apparently node-gyp is somewhat problematic.

At the beginning my python version was 2.7. This is what I did:

  1. I removed atom and nodejs and reinstalled the newest versions of each (nodejs from source). The error is still there
  2. I installed node-gyp and runas with npm. The error is still there.
  3. I removed everything and installed it from the chris-lea ppa. The error persists
  4. I removed everything, added the deadsnakes ppa, set my python to the old 2.6 version, and checked which version is run by the python command in the terminal - its 2.6. Then I reinstalled nodejs from source. Set the python path to 2.6 with npm config. And reinstalled node-gyp. The error is still there.
  5. I removed everything, except for the old python setup. And installed nodejs from the chris-lea ppa. Same problem.
  6. I removed ~/.atom/.node-gyp/ and reinstalled it with npm

Between each step I did an npm cache clean and reinstalled the newest version of atom.

node-gyp rebuild in my atom packages directory fails each time. And I can't install the autocomplete-clang package. Same error. The error message suggests a problem with runas. Therefore, in each step I also installed runas via npm.

This is really burning a lot of time and I'm all out of ideas.

UPDATE:

With the newest version of atom I could not reproduce the error


Solution

  • With the newest version of atom I could not reproduce this error.