2016-11-25 5 views
2

Я пытаюсь запустить проект Node.js 7, работающий над TravisCI. Все работает локально, но когда Трэвис пытается проверить проект, я получаю:Ошибка TravisCI на узле BCrypt с ошибками node-gyp

gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/home/travis/.nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23) 
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.8.7-040807-generic 
gyp ERR! command "/home/travis/.nvm/versions/node/v6.9.1/bin/node" "/home/travis/.nvm/versions/node/v6.9.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /home/travis/build/actuallymentor/react-node-boilerplate/node_modules/bcrypt 
gyp ERR! node -v v6.9.1 
gyp ERR! node-gyp -v v3.4.0 
gyp ERR! not ok 

И:

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! 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 bcrypt package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 

Это вызывает моя сборка на провал еще до запуска тестов.

ответ

3

Проблема в том, что bcrypt требует использования библиотеки C++. У Трэвиса это не установлено. Для того, чтобы заставить его работать нам нужно:

  1. Установите библиотеку
  2. Установка переменной окружения с указанием мы хотим использовать его

Дополнительно узел-лавочка любит быть установлен глобально, поэтому мы можем настроить, что а также за один раз.

В вашем .travis.yml сайте:

sudo: required 
before_install: 
    - npm install -g node-gyp 
addons: 
    apt: 
    sources: 
    - ubuntu-toolchain-r-test 
    packages: 
    - g++-5 

Кроме того, убедитесь, что в настройках проекта Travis установить эту переменную окружения:

CXX=g++-5 

Обратите внимание, что любой г ++ версии выше 4.8 должен работать ,

0

Эта работа для меня !!!!

nodejs 4.6.2, 1.0.1 bcryp на Travis

env: 
    - CXX=g++-4.8 
addons: 
    apt: 
    sources: 
    - ubuntu-toolchain-r-test 
    packages: 
    - g++-4.8