2017-02-13 75 views
0

我在将一些代码部署到我的环境之一时遇到问题。部署到弹性beanstalk的问题“50npm.sh失败”

Creating application version archive "app-aa68e-170213_103330". 
Uploading PAS-API/app-aa68e-170213_103330.zip to S3. This may take a while. 
Upload Complete. 
INFO: Environment update is starting.        
INFO: Deploying new version to instance(s).       
ERROR: Failed to run npm install. Snapshot logs for more details. 
ERROR: [Instance: i-0ee97a5c7bcab8d51] Command failed on instance. Return code: 1 Output: (TRUNCATED)..."/opt/elasticbeanstalk/containerfiles/ebnode.py", line 180, in npm_install 
    raise e 
subprocess.CalledProcessError: Command '['/opt/elasticbeanstalk/node-install/node-v4.4.6-linux-x64/bin/npm', '--production', 'install']' returned non-zero exit status 1. 
Hook /opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh failed. For more detail, check /var/log/eb-activity.log using console or EB CLI. 
INFO: Command execution completed on all instances. Summary: [Successful: 0, Failed: 1]. 
ERROR: Unsuccessful command execution on instance id(s) 'i-0ee97a5c7bcab8d51'. Aborting the operation. 

当服务器上运行npm install似乎部署失败。

回答

0

当我检查似乎有些DEPS的package.json添加为压缩包,而不是一个版本号,这意味着当它安装并保存它看起来是这样的:

"basic-auth": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz" 

不是

"basic-auth": "^1.1.0", 

这在eb实例上的npm install上失败了,它现在看起来很有效。