primefaces编辑器:node-gyp重build崩溃

我正在尝试安装使用node-gyp的primefaces包。 但每次都会崩溃。

这里是apm输出:

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 

网上有很多post描述这个问题,或者是类似的行为。 显然node-gyp有些问题。

  • 它似乎依赖于python 2.6( 在Ubuntu上安装node-gyp时出错 )
  • 并创build了一些版本的nodejs的问题( https://discuss.atom.io/t/node-gyp-is-failing/9245/4?u=lhk )。

开始我的Python版本是2.7。 这就是我所做的:

  1. 我删除了primefaces和nodejs,并重新安装每个(来自源nodejs)的最新版本。 错误仍然存​​在
  2. 我用npm安装了node-gyp和runas。 错误仍然存​​在。
  3. 我删除了一切,并从chris-lea ppa安装它。 错误依然存在
  4. 我删除了所有东西,添加了deadsnakes ppa,将我的python设置为旧的2.6版本,并检查了terminal中python命令运行的版本 – 它的2.6版本。 然后我重新从源代码安装nodejs。 使用npm config将pythonpath设置为2.6。 并重新安装node-gyp。 错误仍然存​​在。
  5. 我删除了一切,除了旧的Python设置。 并从chris-lea ppa安装nodejs。 同样的问题。
  6. 我删除了〜/ .atom / .node-gyp /并用npm重新安装

在每一步之间我做了一个npmcaching清理,并重新安装了最新版本的atom。

我的atom包目录中的node-gyp rebuild每次都失败。 而且我无法安装autocomplete-clang包。 同样的错误。 错误消息表明runas有问题。 因此,在每个步骤中,我还通过npm安装了runas。

这真的很浪费时间,我完全没有想法。

更新:

随着最新版本的primefaces,我不能重现错误

随着最新版本的primefaces,我不能再现这个错误。

在Mac上,我通过find安装apm (在我的机器上,MacOSX Sierra: /Applications/Atom.app/Contents/Resources/app/apm/bin )解决了这个问题,然后运行: ./apm config set python /usr/bin/python2.7在该文件夹中。 这个命令为使用atom安装的apm程序设置pythonconfiguration,而不会混淆你的全局节点设置。 或者为了复制/粘贴便利:

 cd /Applications/Atom.app/Contents/Resources/app/apm/bin ./apm config set python /usr/bin/python2.7