Ошибка установки npm для пользователя модуля jenkins ELIFECYCLE

У нас есть коробка EC2 Ubuntu с Jenkins, которая создает и тестирует приложение node. Частью того, что делает Jenkins, является загрузка зависимостей. Одна из этих зависимостей (hashring) выдает ошибку ELIFECYCLE при установке. Однако ошибка возникает только при установке с пользователем jenkins. Я могу установить sudo с пользователем ubuntu, но я не могу установить этот пакет с пользователем jenkins. Пользователь jenkins может нормально установить все остальные пакеты. Вот пример установки хеширования для ubuntu, а не для jenkins, а затем jenkins установил экспресс-установку успешно.

Есть идеи? Такое ощущение, что я все прочитал и перепробовал. Я полностью удалил и переустановил node, npm и node-gyp и попытался использовать разные комбинации версий каждого из них в зависимости от этой проблемы (https://github.com/TooTallNate/node-gyp/issues/598), но, похоже, это не дало эффекта.

ubuntu@ip-10-0-0-10:~$ sudo npm install hashring
\
> [email protected] install /home/ubuntu/node_modules/hashring
> node-gyp rebuild

make: Entering directory `/home/ubuntu/node_modules/hashring/build'
  CXX(target) Release/obj.target/hashvalue/src/hashvalue.o
  SOLINK_MODULE(target) Release/obj.target/hashvalue.node
  SOLINK_MODULE(target) Release/obj.target/hashvalue.node: Finished
  COPY Release/hashvalue.node
make: Leaving directory `/home/ubuntu/node_modules/hashring/build'
[email protected] node_modules/hashring
├── [email protected]
├── [email protected]
├── [email protected]
└── [email protected]
ubuntu@ip-10-0-0-10:~$ sudo su root
root@ip-10-0-0-10:/home/ubuntu# su jenkins
jenkins@ip-10-0-0-10:/home/ubuntu$ cd ~/workspace/test
jenkins@ip-10-0-0-10:~/workspace/test$ npm install hashring

> [email protected] install /var/lib/jenkins/workspace/test/node_modules/hashring
> node-gyp rebuild

gyp ERR! UNCAUGHT EXCEPTION 
gyp ERR! stack Error: spawn ENOTDIR
gyp ERR! stack     at exports._errnoException (util.js:746:11)
gyp ERR! stack     at ChildProcess.spawn (child_process.js:1155:11)
gyp ERR! stack     at exports.spawn (child_process.js:988:9)
gyp ERR! stack     at exports.execFile (child_process.js:682:15)
gyp ERR! stack     at checkPythonVersion (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:79:5)
gyp ERR! stack     at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:46:9
gyp ERR! stack     at which (/usr/local/lib/node_modules/npm/node_modules/which/which.js:30:31)
gyp ERR! stack     at checkPython (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:36:5)
gyp ERR! stack     at configure (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:31:3)
gyp ERR! stack     at Object.self.commands.(anonymous function) [as configure] (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/node-gyp.js:66:37)
gyp ERR! System Linux 3.13.0-36-generic
gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/lib/jenkins/workspace/test/node_modules/hashring
gyp ERR! node -v v0.12.1
gyp ERR! node-gyp -v v1.0.3
gyp ERR! This is a bug in `node-gyp`.
gyp ERR! Try to update node-gyp and file an Issue if it does not help:
gyp ERR!     <https://github.com/TooTallNate/node-gyp/issues>
npm ERR! Linux 3.13.0-36-generic
npm ERR! argv "node" "/usr/local/bin/npm" "install" "hashring"
npm ERR! node v0.12.1
npm ERR! npm  v2.7.3
npm ERR! code ELIFECYCLE

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

npm ERR! Please include the following file with any support request:
npm ERR!     /var/lib/jenkins/workspace/test/npm-debug.log
jenkins@ip-10-0-0-10:~/workspace/test$ npm install express
[email protected] node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected], [email protected])
jenkins@ip-10-0-0-10:~/workspace/test$ 

person Crowson    schedule 26.03.2015    source источник


Ответы (1)


Оказывается, нам пришлось добавить конфигурацию для npm с путем python.

От пользователя Дженкинс:

Набор настроек npm python /usr/bin/python

person Crowson    schedule 26.03.2015