2016-11-25 6 views
2

Ich versuche, mein Node.js 7-Projekt mit TravisCI zu arbeiten. Alles funktioniert lokal, aber wenn travis versucht, das Projekt zu testen, die ich erhalte:TravisCI schlägt auf Knoten BCrypt mit node-gyp-Fehlern fehl

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 

Und:

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 

Dies bewirkt, dass mein Build sogar zum Scheitern verurteilt, bevor Tests ausgeführt werden.

Antwort

3

Das Problem hier ist, dass bcrypt die Verwendung einer C++ - Bibliothek benötigt. Travis hat das nicht installiert. Damit es funktioniert, müssen wir:

  1. die Bibliothek installieren
  2. eine Umgebungsvariable angibt, wir verwenden möchten es

Zusätzlich Knoten-gyp mag global installiert werden, damit wir konfigurieren, dass auch auf einmal.

In Ihrem .travis.yml Put:

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

auch sicher, dass dieser Umgebungsvariable in Ihren travis Projekteinstellungen festgelegt:

CXX=g++-5 

Beachten Sie, dass jede g ++ Version über 4,8 sollte funktionieren .

0

Diese Arbeit für mich !!!!

NodeJS 4.6.2, 1.0.1 bcryp auf travis

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