2015-03-17 7 views
5

Auf einem Ubuntu-Server 14.04 auf einer Amazon EC2-Instanz hatte ich einen Fehler bei npm install. Es konnte nicht installiert werden bcrypt ("bcrypt": "^0.8.1" in meinem package.json).Unmöglich, bcrypt mit npm auf EC2 zu installieren

Hier ist der Fehler, den ich hatte:

> [email protected] install /home/ubuntu/app/node_modules/bcrypt 
> node-gyp rebuild 

child_process: customFds option is deprecated, use stdio instead. 
make: Entering directory `/home/ubuntu/app/node_modules/bcrypt/build' 
    CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o 
make: g++: Command not found 
make: *** [Release/obj.target/bcrypt_lib/src/blowfish.o] Error 127 
make: Leaving directory `/home/ubuntu/app/node_modules/bcrypt/build' 
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2 
gyp ERR! stack  at ChildProcess.onExit (/home/ubuntu/node-v0.12.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23) 
gyp ERR! stack  at ChildProcess.emit (events.js:110:17) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (child_process.js:1067:12) 
gyp ERR! System Linux 3.13.0-44-generic 
gyp ERR! command "node" "/home/ubuntu/node-v0.12.0-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" 
gyp ERR! cwd /home/ubuntu/app/node_modules/bcrypt 
gyp ERR! node -v v0.12.0 
gyp ERR! node-gyp -v v1.0.2 
gyp ERR! not ok 

Antwort

3

Ich musste nur Werkzeuge, um die Build installieren sudo apt-get install build-essential g++

Beachten Sie, dass Sie apt-get update irgendein Problem mit apt-get auf EC2 zu vermeiden (sonst Sie könnten am Ende mit E: Failed to fetch…

Dann npm install wieder und du bist gut zu gehen!

1

Fest durch die Installation und mit gcc 4.4 wie folgt kompilieren:

yum install gcc44 gcc44-c++ 
export CC="gcc44" 
export CXX="g++44" 
npm install -g level 

Referenz: Eben/levelup # 224

0

ich eine 00npm.config-Datei in dem Ordner erstellen .ebextensions endete. Dies löscht den Ordner, legt die Umgebungsvariablen fest und versucht erneut, ihn zu erstellen.

Die Datei ist:

files: 
    "/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" : 
    mode: "000775" 
    owner: root 
    group: root 
    content: | 
     #!/bin/bash 
     #============================================================================== 
     # Copyright 2013 Amazon.com, Inc. or its affiliates. All Rights Reserved. 
     # 
     # Licensed under the Amazon Software License (the "License"). You may not use 
     # this file except in compliance with the License. A copy of the License is 
     # located at 
     # 
     #  http://aws.amazon.com/asl/ 
     # 
     # or in the "license" file accompanying this file. This file is distributed on 
     # an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or 
     # implied. See the License for the specific language governing permissions 
     # and limitations under the License. 
     #============================================================================== 

     export HOME=/home/ec2-user 
     export USERPROFILE=/home/ec2-user 

     sudo rm -rf /tmp/deployment/application/node_modules/bcrypt 

     set -xe 

     /opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install 
Verwandte Themen