node.js - Elastic Beanstalk 部署失败、权限被拒绝、mkdir

标签 node.js amazon-web-services amazon-ec2 amazon-elastic-beanstalk grpc

我正在尝试将 GRPC 依赖项添加到 Node 弹性 beanstalk 应用程序,但我的所有部署都失败。一旦我从 package.json 中删除 GRPC 依赖项,我的部署就可以工作了。

错误是

ERROR: Failed to run npm install.  
> grpc@1.10.1 install /tmp/deployment/application/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp ERR! Pre-built binaries not installable for grpc@1.10.1 
and node@8.9.3 (node-v57 ABI, glibc) (falling back to source compile 
with node-gyp) 
node-pre-gyp ERR! Hit error EACCES: permission denied, mkdir 
'/tmp/deployment/application/node_modules/grpc/src/node' 
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied

我在另一个 Node 应用程序上遇到了此问题,并且能够通过运行 npm --save-dev eb-fix-npm 来解决它,但它不适用于此应用程序。我有时还会收到“无法创建符号链接(symbolic link),文件已存在(释义)”的错误。

我也设置了这个文件来尝试解决这个问题。

 files:
   "/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh" :
     mode: "000775"
     owner: root
     group: root
     content: |
       #!/bin/bash          
       function error_exit

       {
         eventHelper.py --msg "$1" --severity ERROR
         exit $2
       }

       export HOME=/home/ec2-user

       OUT=$(/opt/elasticbeanstalk/containerfiles/ebnode.py --action npm-install 2>&1) || error_exit "Failed to run npm install.  $OUT" $?
       echo $OUT

感谢您的帮助

最佳答案

对于在项目中使用 bcrypt 库的任何人。

如果您尝试使用 Elastic Beanstalk 部署代码,您将收到此错误。

只需删除 bcrypt 并开始使用 bycryptjs

为此我敲了两个星期的头。

此外,将 bcrypt 降级至 3.0.0 也无济于事。

关于node.js - Elastic Beanstalk 部署失败、权限被拒绝、mkdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49951257/

相关文章:

node.js - Azure Web应用程序 Node 部署,更改应用程序根目录?

node.js - 无法使用 Protractor Chai 验证元素

javascript - 我必须用 Zapier 替换 Code 上的一些特殊字符

c# - 在 C# 中获取亚马逊 Web 服务未签名的 URL

amazon-web-services - 1、参数groupName不能与参数subnet一起使用

python-3.x - 如何在 Amazon Linux 上安装 Ansible 以在 Python3 下运行?

node.js - 我无法在 Linux VPS 上创建 HTTP/HTTPS 服务器

java - Tomcat 8 HTTPS 连接不适用于 AWS EC2

node.js - 如何停止以 --daemonize yes 启动的 redis 服务器

python - 如何使用boto3获取我拥有的EBS快照列表?