我正在尝试将 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/